2017-01-27 85 views
0

我有这样的4×4系统为什么MATLAB为相同的线性系统返回不同的结果?

enter image description here

其中变量EorEotEo2rEo2t(即,Eodn1n2n3g2g3已知复杂数) 。

我感兴趣的是寻找不变量本身,但是这些值:

p_tot = Eor/Eo; 
t_tot = Eot/Eo; 
p_1 = Eo2r/Eo; 
t_1 = Eo2t/Eo; 

我试图解决这个使用MATLAB,如做手工将是相当繁琐的。

常量的值是这些:

e0 = 8.854187817*10^(-12); 
u0 = 4*pi*10^(-7); 
n0 = sqrt(u0/e0); 

f = 10^9; 
w = 2*pi*f; 
d = 0.3; 
tg_p = 0.23; 

g2 = w*sqrt(u0*e0*9)*sqrt(1-i*tg_p); 
g3 = w*sqrt(u0*e0); 

n1 = n0; 
n2 = w*u0/g2; 
n3 = n0; 
Eo = 1; 

当我解决线性系统这个脚本

syms Eor Eo2t Eo2r Eot 

eq1 = Eo+Eor == Eo2t + Eo2r; 
eq2 = Eo-Eor == (n1/n2)*(Eo2t-Eo2r); 
eq3 = Eo2t*exp(-i*g2*d)+Eo2r*exp(i*g2*d) == Eot*exp(-i*g3*d); 
eq4 = Eo2t*exp(-i*g2*d)-Eo2r*exp(i*g2*d) == (n2/n3)*Eot*exp(-i*g3*d); 

[SEor, SEo2t, SEo2r, SEot] = solve([eq1,eq2,eq3,eq4] , [Eor, Eo2t, Eo2r, Eot]); 
S = [SEor; SEo2t; SEo2r; SEot]; 

p_tot = double(SEor/Eo) 
t_1 = double(SEo2t/Eo) 
p_1 = double(SEo2r/Eo) 
t_tot = double(SEot/Eo) 

我从一个完全不同的结果我得到的,如果我解决系统Ax = b的,然后执行操作MATLAB A\b

A = [1 -1 -1 0; 
    1 n1/n2 -n1/n2 0; 
    0 exp(-j*g2*d) exp(j*g2*d) -exp(-j*g3*d); 
    0 exp(-j*g2*d) -exp(j*g2*d) -exp(-j*g3*d)*(n3/n2)]; 

b = [-1;1;0;0]; 

S = A\b; 

p_tot = S(1)/Eo 
t_1 = S(2)/Eo 
p_1 = S(3)/Eo 
t_tot = S(4)/Eo 

所以事情是,我获得两个不同结果采用两种不同的方法(这应该是等同的)同样的问题。

我得到的结果是这些:

随着Ax = b的方法

p_tot = 

    -0.5109 + 0.0436i 


t_1 = 

    0.4924 + 0.0427i 


p_1 = 

    -0.0032 + 0.0009i 


t_tot = 
    0.0284 + 0.0011i 

直接求解系统

p_tot = 

    -0.5011 + 0.0406i 


t_1 = 

    0.4956 + 0.0415i 


p_1 = 

    0.0033 - 0.0009i 


t_tot = 

    0.0866 - 0.0066i 

我是什么做错了,哪一个才是真正的解决方案?

+0

这是两个独立的问题:1)是你的数学正确,2)MATLAB做数学,你觉得是这样的。尽管我很乐意仔细检查你的数学,但你应该首先确定你遇到的错误是否与MATLAB的一个问题有关,或者是你的手算问题。是否确定你的手算是正确的?如果你是,只要解释你在MATLAB中做什么,并清理你的问题。如果你不是,那么你应该检查你的数学或在http://math.stackexchange.com/上提出一个问题。 –

+0

你能展示你得到的答案吗?这可能会在解决其他评论中提出的问题方面发生。另外,我不清楚你的第三种方法是什么。请指定您在拨打电话时用于A,x和b的内容。 – Brick

+0

@VladislavMartin实际上没有太多的数学参与。这只是4x4的系统,除了构建A和b矩阵(这非常简单)之外,我没有任何东西可以用手去做。其余的只是在MATLAB中输入这4个方程。 – Tendero

回答

1

的问题是,在你的A矩阵,第4行中的值,第4列不反映你在你的问题提出的方程组。

相反的(n3/n2)应该(n2/n3)

相关问题