如何用matlab解多元非线性方程组

 我来答
百度网友cc06a77
高粉答主

2018-03-30 · 说的都是干货,快来关注
知道大有可为答主
回答量:263
采纳率:100%
帮助的人:9.2万
展开全部

使用solve函数。

举个例子,解非线性方程组 x^2+y^3=10 x^3-y^2=1 其中x,y为方程组的未知量 在Matlab的命名窗口中输入: 

syms x y  [x y]=solve('x^2+y=10','x^2-y^2=1','x','y')  即可  输出计算结果为: 

x =       (37^(1/2)/2 + 21/2)^(1/2)     (21/2 - 37^(1/2)/2)^(1/2)  -(21/2 - 1/2*37^(1/2))^(1/2)  -(1/2*37^(1/2) + 21/2)^(1/2)   

y =    - 37^(1/2)/2 - 1/2    37^(1/2)/2 - 1/2    37^(1/2)/2 - 1/2  - 37^(1/2)/2 - 1/2 

具体solve函数的使用方法,通过输入help solve来学习。

20世纪60年代中期以后,发展了两种求解非线性方程组(1)的新方法。

一种称为区间迭代法或称区间牛顿法,它用区间变量代替点变量进行区间迭代,每迭代一步都可判断在所给区间解的存在惟一性或者是无解。这是区间迭代法的主要优点,其缺点是计算量大。

另一种方法称为不动点算法或称单纯形法,它对求解域进行单纯形剖分,对剖分的顶点给一种恰当标号,并用一种有规则的搜索方法找到全标号单纯形,从而得到方程(1)的近似解。

这种方法优点是,不要求f(□)的导数存在,也不用求逆,且具有大范围收敛性,缺点是计算量大。

仅仅是追忆
2018-10-03 · TA获得超过1.9万个赞
知道答主
回答量:55
采纳率:0%
帮助的人:2.5万
展开全部

首先定义函数:

function f=fx(x)
f(1)=3*x(1)-cos(x(2)*x(3))-0.5;
f(2)=x(1)^2-81*(x(2)+0.1)^2+sin(x(3))+1.06;
f(3)=exp(-x(1)*x(2))+20*x(3)+(10*pi-3)/3;

>> x=fsolve(@fx,[1,1,1])

最后求得
x =

0.5000    0.0000   -0.5236

扩展资料:

MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

参考资料:非线性方程组数值解法百度百科

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2017-06-16
展开全部
  • 使用solve函数。举个例子,解非线性方程组 x^2+y^3=10 x^3-y^2=1 其中x,y为方程组的未知量 在Matlab的命名窗口中输入:

  • syms x y  [x y]=solve('x^2+y=10','x^2-y^2=1','x','y')

  • 即可  输出计算结果为:  

  • x =       (37^(1/2)/2 + 21/2)^(1/2)     (21/2 - 37^(1/2)/2)^(1/2)  -(21/2 - 1/2*37^(1/2))^(1/2)  -(1/2*37^(1/2) + 21/2)^(1/2)     y =    - 37^(1/2)/2 - 1/2    37^(1/2)/2 - 1/2    37^(1/2)/2 - 1/2  - 37^(1/2)/2 - 1/2  

  • 具体solve函数的使用方法,通过输入help solve来学习。

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式