24小时热门版块排行榜    

查看: 2128  |  回复: 6
【悬赏金币】回答本帖问题,作者Claire3741将赠送您 5 个金币
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

Claire3741

新虫 (初入文坛)

[求助] 求解高次方程组(5次,matlab&1stopt) 已有1人参与

我需要解一个五元方程组,首先使用matlab中的fsolve,我所设置的迭代次数为10000次,但是每次跑到400次就停了,而且还会报“solver stopped prematurely.fsolve stopped because it exceeded the iteration limit, options.MaxIterations=400(the default value).”我不知道原因。后面考虑到fsolve初值选取比较难,考虑用1stopt去解,仍然解不出来,我想着没有精确解,有个看得过去的近似解也行啊。但是始终没解。有没有人能帮忙看看为什么前面两种方法解不出来,或者是提供一些解答的新思路啊,谢谢大家了!
1、matlab代码
x = sym('x', [1,2,3,4,5],'positive');
% 生成符号变量向量
w1=sqrt((x(1)+x(3)*x(4))./(2*x(2)*x(4)*x(5)));
z=((2*x(2)*x(4)+x(3)*x(4)*x(5))./(2*(x(1)+x(3)*x(4))))*w1;
w2=sqrt(1-z^2)*w1;
a=sqrt((1-2*x(5)*z*w1+x(5)^2*w1^2)./(1-z^2));
f1=atan((w2*x(5))./(1-z*w1*x(5)))-atan((sqrt(1-z^2)./(-z)));
% 参数组成的表达式
eq1=-0.5*x(4)*a./(x(1)+x(3)*x(4))+0.7959;
eq2=z*w1-1.275;
eq3=w2-2.284;
eq4=f1+0.4204;
eq5=-0.5*x(4)./(x(1)+x(3)*x(4))+0.3504;
f = matlabFunction([eq1;eq2;eq3;eq4;eq5], 'vars', {[x(1) x(2) x(3) x(4) x(5)]});
x0 = [0.5 2.5 1 0.05 0.2];
options=optimset('Display','iter','MaxFunEvals',10000,'TolFun',1e-10);
[x,fval,exitflag,output] = fsolve(f,x0,options);
2、1stopt
const delta=-0.5;
parameter x1[0,5],x2[0,5],x3[0,5],x4[0,1],x5[0,5];
conststr
w1=sqrt((x1+x3*x4)/(2*x2*x4*x5));
z=((2*x2*x4+x3*x4*x5)/(2*(x1+x3*x4)))*w1;
w2=sqrt(1-z^2)*w1;
a=sqrt((1-2*x5*z*w1+x5^2*w1^2)/(1-z^2));
f1=atan((w2*x5)/(1-z*w1*x5))-atan(sqrt(1-z^2)./(-z));
//参数组成的表达式
A=delta*x4*a/(x1+x3*x4)+0.7959;
B=z*w1-1.275;
C=w2-2.284;
E=f1+0.4204;
F=delta*x4/(x1+x3*x4)+0.3504;

求解高次方程组(5次,matlab&1stopt)
matlab出错图
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

独孤神宇

版主 (知名作家)

【答案】应助回帖

引用回帖:
3楼: Originally posted by Claire3741 at 2020-08-24 23:38:23
fsolve求的也是数值解吧
...

5个参数,需要正版软件才能计算。

Constant delta=-0.5;
Parameter x1=[0,5],x2=[0,5],x3=[0,5],x4=[0,1],x5=[0,5];
ConstStr
w1=sqrt((x1+x3*x4)/(2*x2*x4*x5)),
z=((2*x2*x4+x3*x4*x5)/(2*(x1+x3*x4)))*w1,
w2=sqrt(1-z^2)*w1,
aa=sqrt((1-2*x5*z*w1+x5^2*w1^2)/(1-z^2)),
f1=atan((w2*x5)/(1-z*w1*x5))-atan(sqrt(1-z^2)/(-z));
//参数组成的表达式
Function
delta*x4*aa/(x1+x3*x4)+0.7959=0;
z*w1-1.275=0;
w2-2.284=0;
f1+0.4204=0;
delta*x4/(x1+x3*x4)+0.3504=0;
数值计算
5楼2020-08-25 08:29:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 7 个回答

独孤神宇

版主 (知名作家)

【答案】应助回帖

感谢参与,应助指数 +1
解方程组经量不要用符号运算,直接使用数值计算

发自小木虫Android客户端
数值计算
2楼2020-08-23 08:32:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Claire3741

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by 独孤神宇 at 2020-08-23 08:32:37
解方程组经量不要用符号运算,直接使用数值计算

fsolve求的也是数值解吧

发自小木虫Android客户端
3楼2020-08-24 23:38:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

独孤神宇

版主 (知名作家)

【答案】应助回帖

引用回帖:
3楼: Originally posted by Claire3741 at 2020-08-24 23:38:23
fsolve求的也是数值解吧
...

你1stOpt 代码写的不对。。

x1: 0.0304532132539924
x2: 0.119504502058893
x3: 0.347292096631735
x4: 0.0266306732746401
x5: 0.911618798575995
数值计算
4楼2020-08-25 08:28:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
不应助 确定回帖应助 (注意:应助才可能被奖励,但不允许灌水,必须填写15个字符以上)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 2027广东省杰青 +3 奶牛小黑 2026-08-15 9/450 2026-08-18 20:09 by 奶牛小黑
[基金申请] 朋友圈看到的 +4 wangzilk 2026-08-18 5/250 2026-08-18 19:25 by wangzilk
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +51 医学老男孩 2026-08-13 110/5500 2026-08-18 19:07 by icerianxia
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
[基金申请] 时间戳变了,能看出什么问题? +8 基诺咪客 2026-08-17 11/550 2026-08-18 17:13 by 悠然熊猫
[基金申请] 重要消息,中午系统在维护 +9 yuleib84 2026-08-18 10/500 2026-08-18 16:52 by archvillain
[论文投稿] 投稿咨询 +4 wwm09 2026-08-17 6/300 2026-08-18 15:36 by wwm09
[基金申请] 时间戳又变了8-15 +14 archvillain 2026-08-15 26/1300 2026-08-18 13:37 by phantomgost
[基金申请] 今天维护系统维护 祝所有人 高中 +8 gjjjzhong 2026-08-18 9/450 2026-08-18 13:01 by 家与远方
[基金申请] 哪位老哥知道今年的国自然具体哪一天放榜? +13 Ldrop2023 2026-08-13 16/800 2026-08-18 12:25 by 淀粉搬运工
[基金申请] 快农历七夕节了,轻松一下,男人悄悄话,女施主请不要进来。 +4 Tide man 2026-08-14 5/250 2026-08-18 11:35 by Tide man
[基金申请] 93BebMhtakh前后11位开头都是大写 +4 且听虎啸 2026-08-17 5/250 2026-08-18 00:49 by 蔡棒棒菂
[基金申请] 感觉是下周放榜了 +6 angus9576 2026-08-17 11/550 2026-08-17 23:57 by angus9576
[基金申请] filecode=后面第一个是大写字母 +8 wangze12014 2026-08-14 10/500 2026-08-17 17:05 by xter9665
[基金申请] 今天系统多次维护,明天很可能放榜! +8 zju2000 2026-08-16 9/450 2026-08-17 12:20 by lmz0216
[基金申请] 咱们一起用铁证分析2026国家社科基金中标与否 +7 启萌科技 2026-08-12 26/1300 2026-08-16 12:35 by 启萌科技
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
[基金申请] 不应该看fileCode +7 且听虎啸 2026-08-12 9/450 2026-08-13 14:27 by flydreamws
[基金申请] Filecode 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
[基金申请] 结合人工智能,周易传统文化,filecode打分制来了,3分以上希望很大。 +3 Tide man 2026-08-12 4/200 2026-08-13 08:35 by ZJTJZ
信息提示
请填处理意见