2012-04-02 81 views
0

我的函數總共有4個未知數(2x2)。 我得到了解決方案。但是我要做的是改變一些參數,以便我可以看到最初的解決方案是如何改變的。在fsolve中使用循環並將結果插入函數中

但matlab一直說在A(I)= B中,'I'和元素B的數量必須相同。示例代碼可以是這樣的(在代碼中,psi01 psi02 psi03 psi04是變化的參數);

R=902; 
psi01=0.9:-0.1:0.1; 
psi11=0.9:-0.1:0.1; 
psi02=0.1:0.1:0.9; 
psi12=0.1:0.1:0.9; 
E0=[R/4 R/4; R/4 R/4]; 
for i=1:9 
[email protected](E) [ 
g/E(2,1)-(th1+psi12(i)/psi11(i)*th2)-((psi01(i)/psi11(i))+a*b)/b*(g/E(1,1)-(rho*b* (psi11(i)/psi01(i))/(psi01(i)/psi11(i)+a*b))*(th1+psi12(i)/psi11(i)*th2)*(th1+psi02(i) /psi11(i)*th2) ); 
g/E(2,2)-(psi11(i)/psi12(i)*th1+th2)-((psi02(i)/psi12(i))+a*b)/b*(g/E(1,2)-(rho*b*(psi12(i)/psi02(i))/(psi02(i)/psi12(i)+a*b))*(psi11(i)/psi12(i)*th1+th2)*(psi01(i)/psi02(i)*th1+th2) ); 
    R-(E(1,1)+E(1,2)+E(1,1)+E(2,2)); 
    E(1,2)- c(E)*E(1,1); 
    E(2,2)- d(E)*E(2,1) 
    ]; 
Ep2(i)=fsolve(vv, E0); 
end 

回答

2

如果fsolve的結果是一個2×2的數組,那麼你怎麼能期望將它保存爲標量?

Ep2(i)=fsolve(vv, E0); 

EP2正在這裏用來存儲單獨的元件,標量。你不能將4個元素合併成一個,而不會出錯。使用3維數組,結構或使用單元格數組。

相關問題