首页 > 编程知识 正文

matlab解多元方程组,matlab多元一次方程的求解

时间:2023-05-03 23:14:59 阅读:172465 作者:2134

MATLAB求解方程和多元方程0.01 .核心函数solve2.求解单方程3 .求解带有未知参数的方程4 .求解多元方程5 .数值近似解6 .无解7 .多留言点赞!

0 .说明

前面两篇博文分别介绍:

MATLAB求常微分方程的解析解

MATLAB求常微分方程的数值解

为了形成体系,还决定介绍普通方程的解。

本博文也是按照MATLAB的官方文档展开的。 (建议查看官方文档。 )

1 .核心函数solve一般形式s=solve(eqns,vars,Name,Value ),其中:

eqns是要解的方程

vars是要解决的变量

对于用于指定解的属性,Name-Value通常不可用;

s是结果,对应于vars的变量;

2 .求解单方程http://www.Sina.com/sin(x )=1

方程:

syms x; %定义x为未知量eqn=sin(x )==1; %定义了方程式,eqn只是一个代号,表示sin(x )==1solX=solve ) eqn,x ) %求出方程式eqn的x,放入solx中输入代码:

结果:MATLAB定义方程式使用了==符号,是这样规定的。

说明:细心的学生应该注意到了,这个例子的解实际上应该是pi/2 2k*pi。 是怎么得到的呢?

添加Name-Value对可解决问题。 输入以下代码:

syms x; %定义x为未知量eqn=sin(x )==1; %定义了方程式,eqn只是一个符号,表示为sin(x(==1[solx,params,cond]=solve(eqn,x,' ReturnConditions ',true ) ) %的方程式eqn

3 .具有未知参数的方程注意:ax bx c=0

方程:

syms x a b c; %定义x a b c为未知量eqn=a*x^2 b*x c==0; %定义方程solx=solve(eqn,x ) %解方程代码:

结果:在这里简单地用syms声明未知的参数就可以了。

4 .求解多元方程说明:

方程:

syms u v; %定义u v为未知量eqns=[2*u v==0,u-v==1]; %定义方程vars=[u,v]; 定义求%解的未知量[solU,solv]=solve(eqns,vars ) ]求出eqns中的vars未知量,分别存储sol=solve ) eqns,vars; 求出eqns中的vars未知量,从作为结构体容纳在sol中的solu1=sol.u%sol结构体中取出变量u的解solv1=sol.v%sol结构体中取出变量v的解代码:

结果:在本例中,有两个要解析的变量。 有两种保存方法,用代码进行了说明。

5 .数值近似解http://www.Sina.com/sin(x )==x-1

说明:

syms x; %定义x是未知量FPlot(sin(x ),[-2,2 ]; 绘制%y=sin(x )的图像的hold on; FPlot(x^2-1,[-2,2 ] ); %图y=x^2-1的图像hold off; eqn=sin(x )==x^2-1; 直接求解%定义方程solx=solve(eqn,x ) ),返回找到的第一个数值近似解solx1=vpasolve ) eqn,x,[ 0,2 ] ) VPA进行求解,得到在范围[ 0,2 ]内找到的第一个数值近似解

方程:在该例子中不能求出正确的解,slove可以返回求出的最初的数值近似解,vpasolve可以返回指定范围内的最初的近似解

6 .无解情况代码:

结果:

syms x; %定义x为未知量eqn=[3* x2==0,3 * x1==0]; %定义函数solx=solve(eqn,x )说明:

7 .留言点赞!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。