24小时热门版块排行榜    

查看: 1481  |  回复: 6
【悬赏金币】回答本帖问题,作者羽化成鹏将赠送您 370 个金币

羽化成鹏

新虫 (初入文坛)

[求助] matlab解三元高次方程组。400金币。 已有2人参与

求解下面的三元高次方程组的解。
使用matlab进行汇编。

要求:没有初始值(需要输入初始值的情况不符合要求!)!!! 程序运行,即要直接得到最优结果!!!具有鲁棒性(方程中系数564080065.628041000,609249680.389719000,649348646.964450000发生调整,依然可以正常运行  )!!!


%%%
需要附上:
1,代码
2,结果 X Y Z
3,残差(验证结果)

400金币。
谢谢。


%%需求解方程:

  (X^2+Y^2+Z^2)^4 - 564080065.628041000 * (X^2+ Y^2+ 4* Z^2)  = 0
  ( (X+2)^2+Y^2+Z^2)^4 - 609249680.389719000  * ( (X+2)^2+ Y^2+ 4* Z^2) =0
  ( (X+2)^2+(Y+2)^2+Z^2)^4 - 649348646.964450000  * ( (X+2)^2+ (Y+2)^2+ 4* Z^2) =0


%%残差验证

%  残差;
a = (X^2+Y^2+Z^2)^4 - 564080065.628041000 * (X^2+ Y^2+ 4* Z^2)
b = ( (X+2)^2+Y^2+Z^2)^4 - 609249680.389719000  * ( (X+2)^2+ Y^2+ 4* Z^2)
c = ( (X+2)^2+(Y+2)^2+Z^2)^4 - 649348646.964450000  * ( (X+2)^2+ (Y+2)^2+ 4* Z^2)

% 残差比值
ratioa = 1/(X^2+Y^2+Z^2)^4 * 564080065.628041000 * (X^2+ Y^2+ 4* Z^2)
ratiob = 1/( (X+2)^2+Y^2+Z^2)^4 * 609249680.389719000  * ( (X+2)^2+ Y^2+ 4* Z^2)
ratioc = 1/( (X+2)^2+(Y+2)^2+Z^2)^4 * 649348646.964450000  * ( (X+2)^2+ (Y+2)^2+ 4* Z^2)
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

独孤神宇

版主 (知名作家)

【答案】应助回帖

感谢参与,应助指数 +1
求解结果在 [-1,-1,0] 是整体最优的。

残差较大可能是方程组本身的问题
数值计算
2楼2021-01-13 16:04:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

羽化成鹏

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by 独孤神宇 at 2021-01-13 16:04:29
求解结果在  是整体最优的。

残差较大可能是方程组本身的问题

大佬 系数已经变了。您仔细看一下
3楼2021-01-13 16:13:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

独孤神宇

版主 (知名作家)

【答案】应助回帖

引用回帖:
3楼: Originally posted by 羽化成鹏 at 2021-01-13 16:13:39
大佬 系数已经变了。您仔细看一下...

这个不管怎么变,残差还是很大,你可以试一下。

除非修改模型
数值计算
4楼2021-01-13 16:26:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hzlhm

至尊木虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
独孤神宇: 金币+5, 鼓励交流 2021-01-13 20:41:29
羽化成鹏: 金币+30, 有帮助, 答案正确的 2021-01-14 15:14:08
使用fsolve函数,可以得到
X =       5.7508
Y =       4.6978
Z =       35.247
残值
Xerr=   0.00048828
Yerr=-0.00097656
Zerr=-0.00048828
QQ:2120156492
5楼2021-01-13 20:04:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

羽化成鹏

新虫 (初入文坛)

引用回帖:
5楼: Originally posted by hzlhm at 2021-01-13 20:04:56
使用fsolve函数,可以得到
X =       5.7508
Y =       4.6978
Z =       35.247
残值
Xerr=   0.00048828
Yerr=-0.00097656
Zerr=-0.00048828

答案是对的。可否附上代码?是否设置呢初始值?
谢谢。
6楼2021-01-14 15:13:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hzlhm

至尊木虫 (著名写手)

【答案】应助回帖

引用回帖:
6楼: Originally posted by 羽化成鹏 at 2021-01-14 15:13:26
答案是对的。可否附上代码?是否设置呢初始值?
谢谢。...

x0=rand(3,1)*1000;
[y,fval,h]=fsolve(@func,x0)
X=y(1)
Y=y(2)
Z=y(3)
QQ:2120156492
7楼2021-01-14 22:14:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 羽化成鹏 的主题更新
不应助 确定回帖应助 (注意:应助才可能被奖励,但不允许灌水,必须填写15个字符以上)
信息提示
请填处理意见