24小时热门版块排行榜    

查看: 1710  |  回复: 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一区文章,我:8.O.551.O.5.4,科目全,可伽急 +5 C6CRn66RYYXS 2026-11-10 6/300 2026-11-13 11:04 by Equinoxhua
[教师之家] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +6 C6CRn66RYYXS 2026-11-10 6/300 2026-11-13 04:21 by Equinoxhua
[公派出国] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +4 cdqGD6ftHmbl 2026-11-11 5/250 2026-11-12 12:28 by ECLTXnJnRSXf
[基金申请] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +4 Z7qfCsdIiD1T 2026-11-10 7/350 2026-11-12 11:33 by HajghKOMynmz
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 Z7qfCsdIiD1T 2026-11-10 5/250 2026-11-12 11:25 by HajghKOMynmz
[教师之家] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 Z7qfCsdIiD1T 2026-11-10 7/350 2026-11-12 11:22 by HajghKOMynmz
[基金申请] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +5 czAiolzR0IJC 2026-11-10 9/450 2026-11-12 11:11 by HajghKOMynmz
[考博] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +4 czAiolzR0IJC 2026-11-10 7/350 2026-11-12 11:11 by HajghKOMynmz
[公派出国] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 czAiolzR0IJC 2026-11-10 8/400 2026-11-12 11:11 by HajghKOMynmz
[考博] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +4 czAiolzR0IJC 2026-11-10 6/300 2026-11-12 11:00 by HajghKOMynmz
[基金申请] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +5 G2rhSvqvhNzl 2026-11-10 7/350 2026-11-12 10:49 by HajghKOMynmz
[考博] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 G2rhSvqvhNzl 2026-11-10 5/250 2026-11-12 10:49 by HajghKOMynmz
[考研] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +5 C6CRn66RYYXS 2026-11-10 7/350 2026-11-12 10:16 by HajghKOMynmz
[考研] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 cdqGD6ftHmbl 2026-11-11 3/150 2026-11-12 07:53 by HajghKOMynmz
[考研] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +4 C6CRn66RYYXS 2026-11-10 6/300 2026-11-12 06:03 by 9fOTqj074tIg
[考研] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +5 FChKX8meu1ds 2026-11-09 8/400 2026-11-12 05:30 by 9fOTqj074tIg
[教师之家] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +5 FChKX8meu1ds 2026-11-09 10/500 2026-11-12 05:19 by 9fOTqj074tIg
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +6 zSbvVX9JFl9J 2026-11-09 9/450 2026-11-12 04:57 by 9fOTqj074tIg
[硕博家园] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 FChKX8meu1ds 2026-11-09 6/300 2026-11-11 17:03 by TgvkbZZl9tqB
[考研] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +6 5sJFDKp2kwuI 2026-11-06 14/700 2026-11-09 11:52 by GwrQVVR6Oenx
信息提示
请填处理意见