各位論壇前輩你們好:
小弟有一個邏輯的問題想請教,小弟正在算非線性方程式求根
首先方程式所隨著資料的不同,而有所不同
ex:
function y = func(alpha,corr12)  % alpha與corr12需自己手動給定
r1=randn(10,1);          %隨機生成兩個10X1的矩陣
r2=randn(10,1);
sigma1=var(r1)^0.5;         %  r1與r2的標準差
sigma2=var(r2)^0.5;
eq1=subs('sigma1^2+(sigma2*x)^2-2*x*corr12*sigma1*sigma2');   % eq1與eq2為計算用方程式
eq2=subs('sigma1+2*x');
eq=subs('eq1*eq2');  %將兩個方程式合併
y=solve('eq=0','x')  %這邊是問題的所在,因為一旦用'  ',matlab就不會把eq看成一條方程式而是看成一個變數
請問有什麼方法可以讓matlab把eq視為一條方程式而不是變數?????
而且小弟試過令一個方法就是將
eq=subs('eq1*eq2');  
equ=sym('eq=0');       %結果發生一樣的事情,matlab還是無法將eq視為一條方程式依然視為變數
y=solve(equ,'x')