24小时热门版块排行榜    

查看: 1652  |  回复: 8

kweewu

铜虫 (小有名气)

[求助] 求助大神解一个非线性方程组 已有1人参与

方程组形式如下:

x^2+y^2-2xycosω1=a^2
y^2+z^2-2yzcosω2=b^2
z^2+x^2-2zxcosω3=c^2

除去x,y,z外,其他均为常数
cosω1=0.37461
cosω2=0.24192
cosω3=0.17365

a=7.2
b=14.2
c=18.1

小弟菜鸟一个,使用excel规划求解得出x=9.759132,y=3.746134,z=15.8171,
目标函数选择为f=(x^2+y^2-2xycosω1-a^2)^2+(y^2+z^2-2yzcosω2-b^2)^2+(z^2+x^2-2zxcosω3=c^2)^2
最终的函数值f应该为0,但当取以上解时f=3333.691;
所以应该还有更精确的解。
因为没用过MATLAB,所以希望求得能解该方程组的MATLAB代码。
谢谢!

求助大神解一个非线性方程组
eq.png
回复此楼
PEMFC
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
不存在满足f=0的解。

使得f尽量小的解:
   8.063894135668461
   0.049339384803544
-14.560697883414663

或者:
  -8.063894144363893
  -0.049339340193223
  14.560697881727988

MATLAB代码:
CODE:
function solve_eq
clear all;clc
format long
global a b c cos1 cos2 cos3

cos1=0.37461;
cos2=0.24192;
cos3=0.17365;

a=7.2;
b=14.2;
c=18.1;


x0=[-1 0 0];

options=optimset('TolFun',1e-9);
[x fval]=fsolve(@fun,x0,options);
[x;fval]'
x'


function f=fun(u)

global a b c cos1 cos2 cos3

x=u(1);
y=u(2);
z=u(3);

f(1)=x^2+y^2-2*x*y*cos1-a^2;
f(3)=y^2+z^2-2*y*z*cos2-b^2;
f(2)=z^2+x^2-2*z*x*cos3-c^2;

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

MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
2楼2015-08-11 13:09:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kweewu

铜虫 (小有名气)

送红花一朵
引用回帖:
2楼: Originally posted by 月只蓝 at 2015-08-11 13:09:22
不存在满足f=0的解。

使得f尽量小的解:
   8.063894135668461
   0.049339384803544
-14.560697883414663

或者:
  -8.063894144363893
  -0.049339340193223
  14.560697881727988

MATLAB代码:
...

您好!忘了说了,x,y,z均是正数,这样怎样相应的修改一下代码呢?
PEMFC
3楼2015-08-11 15:46:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

引用回帖:
3楼: Originally posted by kweewu at 2015-08-11 15:46:12
您好!忘了说了,x,y,z均是正数,这样怎样相应的修改一下代码呢?...

如果要求x y z大于0,我想你的计算结果已经是最优了:
x= 9.75912727167921
y= 3.74632253182401
z=15.8171084695522
此时
(x^2+y^2-2*x*y*cos1-a^2)^2+(y^2+z^2-2*y*z*cos2-b^2)^2+(z^2+x^2-2*z*x*cos3-c^2)^2 =3333.69114238958;
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
4楼2015-08-11 16:00:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kweewu

铜虫 (小有名气)

引用回帖:
4楼: Originally posted by 月只蓝 at 2015-08-11 16:00:32
如果要求x y z大于0,我想你的计算结果已经是最优了:
x= 9.75912727167921
y= 3.74632253182401
z=15.8171084695522
此时
(x^2+y^2-2*x*y*cos1-a^2)^2+(y^2+z^2-2*y*z*cos2-b^2)^2+(z^2+x^2-2*z*x*cos3-c^2) ...

谢谢!那如此在您的代码上要怎样使x,y,z都是正数呢?
PEMFC
5楼2015-08-11 16:03:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

引用回帖:
5楼: Originally posted by kweewu at 2015-08-11 16:03:34
谢谢!那如此在您的代码上要怎样使x,y,z都是正数呢?...

不再用fsolve函数了,改用有约束的非线性最优化函数,求目标函数;(x^2+y^2-2*x*y*cos1-a^2)^2+(y^2+z^2-2*y*z*cos2-b^2)^2+(z^2+x^2-2*z*x*cos3-c^2)^2的最小值,然后附加x y z大于0的约束。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
6楼2015-08-11 16:09:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kweewu

铜虫 (小有名气)

引用回帖:
6楼: Originally posted by 月只蓝 at 2015-08-11 16:09:25
不再用fsolve函数了,改用有约束的非线性最优化函数,求目标函数;(x^2+y^2-2*x*y*cos1-a^2)^2+(y^2+z^2-2*y*z*cos2-b^2)^2+(z^2+x^2-2*z*x*cos3-c^2)^2的最小值,然后附加x y z大于0的约束。...

谢谢!我应该如何操作才能采用您的应助?找了一会儿没找到这个选项o(╯□╰)o
PEMFC
7楼2015-08-11 16:26:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kweewu

铜虫 (小有名气)

引用回帖:
6楼: Originally posted by 月只蓝 at 2015-08-11 16:09:25
不再用fsolve函数了,改用有约束的非线性最优化函数,求目标函数;(x^2+y^2-2*x*y*cos1-a^2)^2+(y^2+z^2-2*y*z*cos2-b^2)^2+(z^2+x^2-2*z*x*cos3-c^2)^2的最小值,然后附加x y z大于0的约束。...

改用有约束的非线性最优化函数,附加x y z大于0的约束,这个代码该怎么写呢?
PEMFC
8楼2015-08-11 16:30:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
kweewu: 金币+30, ★★★★★最佳答案, 非常感谢您的耐心帮助! 2015-08-11 17:07:24
引用回帖:
8楼: Originally posted by kweewu at 2015-08-11 16:30:11
改用有约束的非线性最优化函数,附加x y z大于0的约束,这个代码该怎么写呢?...

CODE:
function youhua
clear all;clc
format long


A=[-1 0 0
    0 -1 0
    0 0 -1];
b=[0 0 0];
x0=[1 1 1];

[x fval]=fmincon(@fun,x0,A,b)





function f=fun(u)
cos1=0.37461;
cos2=0.24192;
cos3=0.17365;

a=7.2;
b=14.2;
c=18.1;



x=u(1);
y=u(2);
z=u(3);
f=(x^2+y^2-2*x*y*cos1-a^2)^2+(y^2+z^2-2*y*z*cos2-b^2)^2+(z^2+x^2-2*z*x*cos3-c^2)^2;

计算结果:
x y z分别=

   9.759125101118036   3.746323040238880  15.817108773681586


目标函数值fval =

    3.333691142391446e+003

上述代码须完整复制进一个新建的m文件中,运行即可,不能在主程序窗口运行。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
9楼2015-08-11 16:47:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 kweewu 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[找工作] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +4 ZYXdhzDAy9ZX 2026-09-28 4/200 2026-09-29 16:54 by yCO1Ll7aHtsw
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +4 ZYXdhzDAy9ZX 2026-09-28 4/200 2026-09-29 16:47 by yCO1Ll7aHtsw
[硕博家园] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 ZYXdhzDAy9ZX 2026-09-28 3/150 2026-09-29 16:03 by etmYJ6d2rquH
[考博] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 tqUTOxClQUMF 2026-09-28 3/150 2026-09-29 15:46 by etmYJ6d2rquH
[论文投稿] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +4 tqUTOxClQUMF 2026-09-28 4/200 2026-09-29 15:15 by etmYJ6d2rquH
[公派出国] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 tqUTOxClQUMF 2026-09-28 3/150 2026-09-29 14:58 by etmYJ6d2rquH
[考博] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +6 GDBe8tDZqE8z 2026-09-28 6/300 2026-09-29 14:41 by etmYJ6d2rquH
[硕博家园] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 GDBe8tDZqE8z 2026-09-28 3/150 2026-09-29 14:30 by etmYJ6d2rquH
[博后之家] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +6 IDs3scOF0tjC 2026-09-28 7/350 2026-09-29 14:07 by etmYJ6d2rquH
[博后之家] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 IDs3scOF0tjC 2026-09-28 3/150 2026-09-29 13:56 by etmYJ6d2rquH
[公派出国] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +4 IDs3scOF0tjC 2026-09-28 5/250 2026-09-29 13:50 by etmYJ6d2rquH
[考研] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 tqUTOxClQUMF 2026-09-28 3/150 2026-09-29 09:59 by JzYBbHIXWSrW
[教师之家] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +4 GDBe8tDZqE8z 2026-09-28 4/200 2026-09-29 09:49 by JzYBbHIXWSrW
[找工作] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 ZYXdhzDAy9ZX 2026-09-28 3/150 2026-09-29 06:28 by ZvyPK8n6Nfki
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 tqUTOxClQUMF 2026-09-28 3/150 2026-09-28 23:46 by b8fCuTHqckEt
[公派出国] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +4 IDs3scOF0tjC 2026-09-28 4/200 2026-09-28 22:55 by ez6fGg9abYaj
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 CfXuS1rDhLYN 2026-09-28 4/200 2026-09-28 22:55 by ez6fGg9abYaj
[有机交流] 同一个分子,一条来自文献,一条来自AI——不告诉你答案,你会选哪条? +3 tianxiaoxian 2026-09-28 6/300 2026-09-28 22:44 by tianxiaoxian
[找工作] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 IDs3scOF0tjC 2026-09-28 5/250 2026-09-28 22:32 by ez6fGg9abYaj
[考博] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 IDs3scOF0tjC 2026-09-28 6/300 2026-09-28 22:15 by ez6fGg9abYaj
信息提示
请填处理意见