Командой solve выразим y через x из первого уравнения системы, x через y из второго уравнения.
>> pretty(solve(S1,'y'))
[ 2 4 2 1/2]
[- 1/2 exp(x) + 1/2 (exp(x) - 4 x - 4 x + 8) ]
[ ]
[ 2 4 2 1/2]
[- 1/2 exp(x) - 1/2 (exp(x) - 4 x - 4 x + 8) ]
>> pretty(solve(S2,'x'))
[ 1/2]
[-1/2 + 1/2 (1 - 4 y + 4 exp(y log(3))) ]
[ ]
[ 1/2]
[-1/2 - 1/2 (1 - 4 y + 4 exp(y log(3))) ]
Построим два графика первого и второго уравнения с помощью функции ezplot.
>> ezplot(S1,[-3,3])
>> hold on
>> ezplot(S2,[-3,3])
>> grid on
>> hold off
Рис. 1. Графики функций S1 и S2
По графикам можно приблизительно оценить начальные значения для алгоритма поиска решений системы нелинейных уравнений: и .
После того, как мы определили начальные приближения, воспользуемся функцией поиска решений нелинейных уравнений и систем нелинейных уравнений fsolve. Для чего создадим m-функцию, определяющую заданную систему:
function f=myfun1(x)
f=[x(1)^4+x(1)^2+x(2)*exp(x(1))+x(2)^2-2;
x(1)^2+x(2)-3^x(2)+x(1)];
а затем воспользуемся функцией fsolve дважды для каждого найденного начального приближения:
>> z1=fsolve(@myfun1,[0.5;0.7])
z1 =
0.7130
0.4879
>> z2=fsolve(@myfun1,[1.2;-2.7])
z2 =
1.2503
-2.7657
Найдем невязки с помощью функции подстановки subs: