MATLAB符号运算问题

问题描述:

MATLAB符号运算问题
有如下方程组:
exp(x)-2*exp(x+y)=50;
exp(y)-3*exp(x+y)=80;
1)求其解析解(solve);并显示其具体数值(vpa),其有效位设置为5.
2)分别设置初值为(0.1+0.1i,0.1+0.1i)与(0.1-0.1i,0.1- 0.1i),求其数值解(fsolve);不同初值下解有何不同?
1个回答 分类:综合 2014-11-16

问题解答:

我来补答
%有如下方程组:
%exp(x)-2*exp(x+y)=50;
%exp(y)-3*exp(x+y)=80;
%1)求其解析解(solve);并显示其具体数值(vpa),其有效位设置为5.
%2)分别设置初值为(0.1+0.1i,0.1+0.1i)与(0.1-0.1i,0.1- 0.1i),求其数值解(fsolve);不同初值下解有何不同
g=solve('exp(x)-2*exp(x+y)=50','exp(y)-3*exp(x+y)=80');
digits(5);
disp('x的解析解为:');
disp(vpa(g.x));
disp('y的解析解为:');
disp(vpa(g.y));
上面求解问题(1)
function F=myfun(x)
F=[exp(x(1))-2*exp(x(1)+x(2))-50;
exp(x(2))-3*exp(x(1)+x(2))-80];
上面的function单独存储为myfun.m
以下在命令窗口中输入
x0=[0.1+0.1i;0.1+0.1i];
[x,fval]=fsolve(@myfun,x0)
得到:
x=
1.4067 + 1.9470i
1.8444 + 1.1210i
x0=[0.1-0.1i;0.1-0.1i];
[x,fval]=fsolve(@myfun,x0)
得到:
x=
1.4067 - 1.9470i
1.8444 - 1.1210i
不同初值的优化收敛的的最优解不同
 
 
展开全文阅读
剩余:2000