2013-11-15 7 views
0

Помощь. Я пытаюсь решить эту систему нелинейных уравнений в MATLAB для задания домашней работы. Я пробовал вольфрам альфа и этот 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

Вы хотите, чтобы функция fsolve в Matlab. Определите функцию myfun, которая возвращает [0,0] в решении, затем запустите 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

Чтобы уточнить этот ответ, ваша функция, вероятно, следует выглядеть следующим образом: 'функция у = my_fun (х) у (1) = х (1) * 10^(6.82485- 943,453/(x (2) +239,711)) - 0,75 * 1100; у (2) = (1-х (1)) * 10^(6.88555-1175.817/(х (2) +224.887) - 25 * 1100; end' Для получения более подробной информации см документ на 'fsolve': http://www.mathworks.co.uk/help/optim/ug/fsolve.html. Вам нужна панель инструментов оптимизации. – am304

+0

+1 для ответа на вопрос и по-прежнему оставить некоторые для OP (imo, так как это назначение, это лучший способ ответить) –

Смежные вопросы