24小时热门版块排行榜    

查看: 1491  |  回复: 6

menkuo1110

木虫 (正式写手)

[求助] 求助matlab 非线性方程组全部解!

解非线性方程组时,使用fsolve,初始值的选定,使其解相差很大。如何避免啊?还有,怎么能求出虚数解啊(有没有不用solve函数的,运算太慢了)。谢谢各位大神了!
最好以此题为例子function q = f(p)
q=[p(1)*p(1)+p(2)*p(2)-1; 0.75*p(1)^3-p(2)+0.9];
回复此楼

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

» 猜你喜欢

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

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

dingd

铁杆木虫 (职业作家)

【答案】应助回帖


感谢参与,应助指数 +1
csgt0: 金币+1, 谢谢 2012-10-26 09:43:54
1stOpt不需初值,可得下面两组解:


No.        p1        p2
1        -0.981702648211656        0.190420351539264
2        0.356969971919287        0.9341158595861
2楼2012-10-26 08:49:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

menkuo1110

木虫 (正式写手)

这个只求的是实数解吧,应该两个实数解,四个虚数解啊
3楼2012-10-26 09:49:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dbb627

荣誉版主 (著名写手)

★ ★
csgt0: 金币+2, 谢谢指导!出问题了啊,公式跑外面去了 2012-10-26 10:54:27
matlab 换元 mupad解的
p(1)=sin(x) p(2)=cos(x)

s=solve(0.75*(sin(x))^3-cos(x)+0.9=0,x)
The more you learn, the more you know, the more you know, and the more you forget. The more you forget, the less you know. So why bother to learn.
4楼2012-10-26 10:47:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dbb627

荣誉版主 (著名写手)

【答案】应助回帖

★ ★ ★
感谢参与,应助指数 +1
menkuo1110: 金币+3, ★★★很有帮助 2012-10-26 12:00:40
引用回帖:
4楼: Originally posted by dbb627 at 2012-10-26 10:47:57
matlab 换元 mupad解的
p(1)=sin(x) p(2)=cos(x)

s=solve(0.75*(sin(x))^3-cos(x)+0.9=0,x)
s = \left\{\left. 6.283185307\, k + \mathrm{z1} \right| k\in\mathbb Z, \mathrm{z1}\in\left\{-1.379206012,0.3 ...

p(1)=sin(s)
p(2)=cos(s)
可得
两个实数解,四个虚数解
The more you learn, the more you know, the more you know, and the more you forget. The more you forget, the less you know. So why bother to learn.
5楼2012-10-26 11:24:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

menkuo1110

木虫 (正式写手)

送鲜花一朵
高手啊!是这结果,谢谢谢谢!问一下啥原理啊,是根据欧拉公式,分成实部跟虚部分开解么?类似的题都是将x,y代换成sin  cos?
6楼2012-10-26 11:59:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dbb627

荣誉版主 (著名写手)

【答案】应助回帖

★ ★
menkuo1110: 金币+2, ★★★很有帮助 2012-10-26 22:51:40
引用回帖:
6楼: Originally posted by menkuo1110 at 2012-10-26 11:59:39
高手啊!是这结果,谢谢谢谢!问一下啥原理啊,是根据欧拉公式,分成实部跟虚部分开解么?类似的题都是将x,y代换成sin  cos?

p(1)*p(1)+p(2)*p(2)-1;这个条件实际上就是x^2+y^2=1,将x,y代换成sin  cos三角函数计算比较法方便。
算出角度后三角函数一转换就可的x,y的值。
当然复数用欧拉公式转也是可以的
The more you learn, the more you know, the more you know, and the more you forget. The more you forget, the less you know. So why bother to learn.
7楼2012-10-26 14:24:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 menkuo1110 的主题更新
信息提示
请填处理意见