2013-11-15 150 views
0

幫助。我正在嘗試在MATLAB中解決這個非線性方程組的系統作業。我已經嘗試過wolfram alpha,並且這個online equation solver,他們都沒有工作。解非線性方程組

我試過我的圖形計算器,它一直說非代數變量或表達式。

這是我的兩個方程兩個未知數:

.75*(1100)= x*10^(6.82485-943.453/(T+239.711)) 

25*1100=(1-x)*10^(6.88555-1175.817/(T+224.887) 

我不太瞭解如何使用MATLAB來解決這個系統。請幫忙。

回答

2

您想在Matlab中使用fsolve函數。定義一個在解決方案處返回[0,0]的函數myfun,然後運行fsolve(myfun,x0)。 x0是解決方案的猜測。

定義myfun:

function F = myfun(x) 
F = [<put modified eqt1 here>; 
<put modified eqt2 here>;]; 

保存它。然後解決:

x0 = [1,1];  
options = optimoptions('fsolve','Display','iter'); 
[x,fval] = fsolve(@myfun,x0,options) % Call solver 
+0

爲了詳細說明這個答案,你的函數或許應該是這樣的: '函數y = my_fun(x)的 Y(1)= X(1)×10 ^(6.82485- 943.453 /(x(2)+239.711)) - 0.75 * 1100; Y(2)=(1-x(1))* 10 ^(6.88555-1175.817 /(X(2)224.887) - 25 * 1100; end' 詳情,請參見文檔'fsolve':http://www.mathworks.co.uk/help/optim/ug/fsolve.html你需要優化工具箱 – am304

+0

+1回答這個問題,仍然留下一些OP做(imo,因爲這是一項任務,這是最好的回答方式) –