QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1737|回复: 4
打印 上一主题 下一主题

求各位大神帮忙指导MATLAB求解非线性方程组问题

[复制链接]
失梦人        

4

主题

11

听众

42

积分

自我介绍
华北电力大学 电气工程自动化 12级七班

邮箱绑定达人 社区QQ达人

群组学术交流B

群组Matlab讨论组

跳转到指定楼层
1#
发表于 2014-4-6 08:12 |只看该作者 |倒序浏览
50体力
我要求一个非线性方程组,file:///C:\Users\Administrator\Documents\Tencent Files\250158871\Image\A(`94L~I]J~W]ZQ%@JEP~T5.jpgfile:///C:\Users\Administrator\Documents\Tencent Files\250158871\Image\A(`94L~I]J~W]ZQ%@JEP~T5.jpgfile:///C:\Users\Administrator\Documents\Tencent Files\250158871\Image\A(`94L~I]J~W]ZQ%@JEP~T5.jpgsqrt((x+a)^2+y^2+z^2)-file:///C:/Users/Administrator/Documents/Tencent%20Files/250158871/Image/A(%6094L~I]J~W]ZQ%@JEP~T5.jpgfile:///C:/Users/Administrator/Documents/Tencent%20Files/250158871/Image/A(%6094L~I]J~W]ZQ%@JEP~T5.jpgfile:///C:/Users/Administrator/Documents/Tencent%20Files/250158871/Image/A(%6094L~I]J~W]ZQ%@JEP~T5.jpgsqrt(x^2+y^2+z^2)=340*t1
                                          file:///C:/Users/Administrator/Documents/Tencent%20Files/250158871/Image/A(%6094L~I]J~W]ZQ%@JEP~T5.jpgfile:///C:/Users/Administrator/Documents/Tencent%20Files/250158871/Image/A(%6094L~I]J~W]ZQ%@JEP~T5.jpgfile:///C:/Users/Administrator/Documents/Tencent%20Files/250158871/Image/A(%6094L~I]J~W]ZQ%@JEP~T5.jpgsqrt((x+a)^2+y^2+z^2)-file:///C:/Users/Administrator/Documents/Tencent%20Files/250158871/Image/A(%6094L~I]J~W]ZQ%@JEP~T5.jpgfile:///C:/Users/Administrator/Documents/Tencent%20Files/250158871/Image/A(%6094L~I]J~W]ZQ%@JEP~T5.jpgfile:///C:/Users/Administrator/Documents/Tencent%20Files/250158871/Image/A(%6094L~I]J~W]ZQ%@JEP~T5.jpgsqrt((x-a)^2+y^2+z^2)=340*t2
                                          file:///C:/Users/Administrator/Documents/Tencent%20Files/250158871/Image/A(%6094L~I]J~W]ZQ%@JEP~T5.jpgfile:///C:/Users/Administrator/Documents/Tencent%20Files/250158871/Image/A(%6094L~I]J~W]ZQ%@JEP~T5.jpgfile:///C:/Users/Administrator/Documents/Tencent%20Files/250158871/Image/A(%6094L~I]J~W]ZQ%@JEP~T5.jpgsqrt(x^2+y^2+z^2)-file:///C:/Users/Administrator/Documents/Tencent%20Files/250158871/Image/A(%6094L~I]J~W]ZQ%@JEP~T5.jpgfile:///C:/Users/Administrator/Documents/Tencent%20Files/250158871/Image/A(%6094L~I]J~W]ZQ%@JEP~T5.jpgfile:///C:/Users/Administrator/Documents/Tencent%20Files/250158871/Image/A(%6094L~I]J~W]ZQ%@JEP~T5.jpgsqrt((x-a)^2+y^2+z^2)=340*t3
要求输入参数为a,t1,t2,t3,变量。程序返回方程组的解x,y,z。
function F=myfun(x)
F=[file:///C:/Users/Administrator/Documents/Tencent%20Files/250158871/Image/A(%6094L~I]J~W]ZQ%@JEP~T5.jpgfile:///C:/Users/Administrator/Documents/Tencent%20Files/250158871/Image/A(%6094L~I]J~W]ZQ%@JEP~T5.jpgfile:///C:/Users/Administrator/Documents/Tencent%20Files/250158871/Image/A(%6094L~I]J~W]ZQ%@JEP~T5.jpgsqrt((x(1)+a)^2+x(2)^2+x(3)^2)-file:///C:/Users/Administrator/Documents/Tencent%20Files/250158871/Image/A(%6094L~I]J~W]ZQ%@JEP~T5.jpgfile:///C:/Users/Administrator/Documents/Tencent%20Files/250158871/Image/A(%6094L~I]J~W]ZQ%@JEP~T5.jpgfile:///C:/Users/Administrator/Documents/Tencent%20Files/250158871/Image/A(%6094L~I]J~W]ZQ%@JEP~T5.jpgsqrt(x(1)^2+x(2)^2+x(3)^2)-340*t1;sqrt((x(1)+a)^2+x(2)^2+x(3)^2)-file:///C:/Users/Administrator/Documents/Tencent%20Files/250158871/Image/A(%6094L~I]J~W]ZQ%@JEP~T5.jpgfile:///C:/Users/Administrator/Documents/Tencent%20Files/250158871/Image/A(%6094L~I]J~W]ZQ%@JEP~T5.jpgfile:///C:/Users/Administrator/Documents/Tencent%20Files/250158871/Image/A(%6094L~I]J~W]ZQ%@JEP~T5.jpgsqrt((x(1)-a)^2+x(2)^2+x(3)^2)-340*t2;sqrt(x(1)^2+x(2)^2+x(3)^2)-file:///C:/Users/Administrator/Documents/Tencent%20Files/250158871/Image/A(%6094L~I]J~W]ZQ%@JEP~T5.jpgfile:///C:/Users/Administrator/Documents/Tencent%20Files/250158871/Image/A(%6094L~I]J~W]ZQ%@JEP~T5.jpgfile:///C:/Users/Administrator/Documents/Tencent%20Files/250158871/Image/A(%6094L~I]J~W]ZQ%@JEP~T5.jpgsqrt(x(1)^2+x(2)^2+x(3)^2)-340*t3;];

x0=[0;0];
options=optimset('Display','iter');
[x,fv]=fsolve(@myfun,x0,options)

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

假如t1,2,3和a都是已知数了,那么程序可以直接输出x,y,z。但我如何让他们以输入参数的形式出现呢。就比如说,他们是实际测量得到的数据,数据量很大的时候,总不能每次都重新输一遍程序,假如t1,2,3和a是可以matla独处的,那么在哪里赋值,怎样为之赋值才能让他们以方程组自变量的形式出现呢

转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
失梦人        

4

主题

11

听众

42

积分

自我介绍
华北电力大学 电气工程自动化 12级七班

邮箱绑定达人 社区QQ达人

群组学术交流B

群组Matlab讨论组

2#
发表于 2014-4-6 08:32 |只看该作者
刚刚那个错了,弄成乱码了,这个才是我要求一个非线性方程组, sqrt((x+a)^2+y^2+z^2)- sqrt(x^2+y^2+z^2)=340*t1
                                       sqrt((x+a)^2+y^2+z^2)-sqrt((x-a)^2+y^2+z^2)=340*t2
                                        sqrt(x^2+y^2+z^2)-sqrt((x-a)^2+y^2+z^2)=340*t3
要求输入参数为a,t1,t2,t3,变量。程序返回方程组的解x,y,z。
function F=myfun(x)
F=[sqrt((x(1)+a)^2+x(2)^2+x(3)^2)-sqrt(x(1)^2+x(2)^2+x(3)^2)-340*t1;sqrt((x(1)+a)^2+x(2)^2+x(3)^2)-sqrt((x(1)-a)^2+x(2)^2+x(3)^2)-340*t2;sqrt(x(1)^2+x(2)^2+x(3)^2)-sqrt(x(1)^2+x(2)^2+x(3)^2)-340*t3;];

x0=[0;0];
options=optimset('Display','iter');
[x,fv]=fsolve(@myfun,x0,options)

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

假如t1,2,3和a都是已知数了,那么程序可以直接输出x,y,z。但我如何让他们以输入参数的形式出现呢。就比如说,他们是实际测量得到的数据,数据量很大的时候,总不能每次都重新输一遍程序,假如t1,2,3和a是可以matla独处的,那么在哪里赋值,怎样为之赋值才能让他们以方程组自变量的形式出现呢
回复

使用道具 举报

91

主题

105

听众

9482

积分

社区QQ达人

群组物联网工程师培训

群组Matlab讨论组

群组2013认证赛C题讨论群组

群组数学建模

群组2013认证赛A题讨论群组

3#
发表于 2014-4-6 19:37 |只看该作者
回复

使用道具 举报

91

主题

105

听众

9482

积分

社区QQ达人

群组物联网工程师培训

群组Matlab讨论组

群组2013认证赛C题讨论群组

群组数学建模

群组2013认证赛A题讨论群组

4#
发表于 2014-4-6 21:47 |只看该作者
syms s1 s2 s3 x y z........定义好这些
x1=......x2=...,%输入已知值
s1=(x1-x)2+(y1-y)2+(z1-z)2-d12
s2=(x2-x)2+(y2-y)2+(z2-z)2-d22
s3=(x3-x)2+(y3-y)2+(z3-z)2-d32
solve(s1,s2,s3)
类似这样子输入已知值
多多发帖,受益多多
回复

使用道具 举报

失梦人        

4

主题

11

听众

42

积分

自我介绍
华北电力大学 电气工程自动化 12级七班

邮箱绑定达人 社区QQ达人

群组学术交流B

群组Matlab讨论组

5#
发表于 2014-4-18 16:06 |只看该作者
平凡之不凡 发表于 2014-4-6 21:47
syms s1 s2 s3 x y z........定义好这些
x1=......x2=...,%输入已知值
s1=(x1-x)2+(y1-y)2+(z1-z)2-d12

能不能生成这样的函数呢?就是(x,y,z)=f(ti,t2,t3,a)?如果生成了的话,后面的操作就简单了
回复

使用道具 举报

qq
收缩
  • 电话咨询

  • 04714969085

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2024-4-27 07:28 , Processed in 0.530519 second(s), 56 queries .

回顶部