24小时热门版块排行榜    

查看: 789  |  回复: 7

qianwantao

新虫 (小有名气)

[求助] MATLAB解方程组 已有1人参与

MATLAB几乎没用过,晚上要解个方程组,提示无解,用的2009上学时候版本。方程和提示如下:
syms X1 X2 X3 Y1 Y2 Y3 F L1 L2 L3 L4 L5 L6;
f = solve('X1+X2+X3=0','Y1+Y2+Y3-F=0','Y1*L1+Y2*Y2+Y3*L3-X1*L4-X2*L5+X3*L6=0','Y2*(L2-L1)+Y3*(L3-L1)-X2*(L5-L4)+X3*(L4+L6)-F*L1=0','X1*(L5-L4)+X3*(L5+L6)-Y1*(L2-L1)-Y3*(L2-L1)-F*L2=0','Y2*(L2-L3)-Y1*(L3-L1)-X1*(L4+L6)-X2*(L5+L6)-F*L3=0','X1','X2','X3','Y1','Y2','Y3');
f.X1
f.X2
f.X3
f.Y1
f.Y2
f.Y3
Warning: Explicit solution could not be found.
熟悉的能说说什么原因 ,或者复制过去帮我看一下,是不是2009版的太早了,或者要用到工具箱,谢谢

发自小木虫Android客户端
回复此楼

» 本帖已获得的红花(最新10朵)

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

FMStation

至尊木虫 (知名作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
qianwantao: 金币+15, 有帮助 2016-10-15 17:40:48
https://www.mathworks.com/matlab ... /view_thread/317430
no explicit solution can ever be found
2楼2016-10-14 06:21:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shf011

木虫 (小有名气)

与版本无关。有可能这个方程组就没有符号解,建议用fsolve求数值解

发自小木虫Android客户端

» 本帖已获得的红花(最新10朵)

拼了
3楼2016-10-15 06:05:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qianwantao

新虫 (小有名气)

送红花一朵
谢谢!
4楼2016-10-15 17:48:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qianwantao

新虫 (小有名气)

送红花一朵
引用回帖:
3楼: Originally posted by shf011 at 2016-10-15 06:05:51
与版本无关。有可能这个方程组就没有符号解,建议用fsolve求数值解

谢谢,刚才回复错了

发自小木虫Android客户端
5楼2016-10-15 17:49:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

FMStation

至尊木虫 (知名作家)

【答案】应助回帖

http://read.pudn.com/downloads11 ... ions%20solution.pdf
非线性方程组求解-Matlab-fsolve
6楼2016-10-15 18:28:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qianwantao

新虫 (小有名气)

引用回帖:
6楼: Originally posted by FMStation at 2016-10-15 18:28:15
http://read.pudn.com/downloads111/ebook/461983/nonlinear%20equations%20solution.pdf
非线性方程组求解-Matlab-fsolve

我把数值直接带进来了,是线性方程,解出来的结果不对
>> syms X1 X2 X3 Y1 Y2 Y3;
f = solve('X1+X2+X3=0','Y1+Y2+Y3+17408=0', 'Y1*72+Y2*116+Y3*79-X1*21-X2*23+X3*8=0','Y2*44+Y3*7-X2*2+X3*29-17408*72=0','X1*2+X3*31-Y1*44-Y3*37-17408*116=0','Y2*37-Y1*7-X1*29-X2*31-17408*79=0','X1','X2','X3','Y1','Y2','Y3');
f.X1
f.X2
f.X3
f.Y1
f.Y2
f.Y3

ans =

626688 - 22*z1 - (7*z2)/2 - (31*z)/2


ans =

(29*z)/2 + 22*z1 + (7*z2)/2 - 626688


ans =

z


ans =

- z1 - z2 - 17408


ans =

z1


ans =

z2
7楼2016-10-15 18:39:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

FMStation

至尊木虫 (知名作家)

【答案】应助回帖

https://www.mathworks.com/help/optim/ug/fsolve.html
fsolve
CODE:
function F = myfun(x)
F = [2*x(1) - x(2) - exp(-x(1));
      -x(1) + 2*x(2) - exp(-x(2))];

CODE:
x0 = [-5;-5];
options = optimoptions('fsolve','Display','iter');

CODE:
[x,fval] = fsolve(@myfun,x0,options)

CODE:
x =
    0.5671
    0.5671

fval =
  1.0e-006 *
      -0.4059
      -0.4059

8楼2016-10-15 21:46:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 qianwantao 的主题更新
信息提示
请填处理意见