2022 04月06日
作者: 小白哥
  • 浏览: 1005
  • 收藏:0
  • 点赞:2
MATLAB求解方程和方程组

1.示例

%注意:这里的等号一定要有两个,一个等号表示赋值
%求解单变量方程
clear;clc
syms x
eqn=sin(x)==-1; 
s=solve(eqn)

1.jpg

%通过指定'ReturnConditions'为真,返回一个方程的完整解,其中包含解的参数和条件。
[solx,parameters,conditions]=solve(eqn, x, 'ReturnConditions', true)

1.jpg

%多变量方程求解
clear;clc
syms a b c x
eqn=a*x^2+b*x+c==0;
s=solve(eqn,x)  % 将x视为未知数求解 
s=solve(eqn, c) % 将c视为未知数求解

1.jpg

%方程组求解
clear;clc
syms u v m
eqn=[2*u+v==m,u-v==1];
s=solve(eqn, [u,v]);%结构体显示
s.u
s.v
%不用结构体显示:[u,v]=solve(eqn, [u, v])

1.jpg

%solve可能会警告
%警告:Cannot solve symbolically. Returning a numeric approximation instead. 
syms x
eqn=200*sin(x)==x^3 - 1;
solve(eqn, x)
%fplot函数可绘制表达式的图形
fplot(200*sin(x), [-5 5]) 
hold on
fplot(x^3 - 1, [-5 5])

1.jpg

1.jpg

从图中可以看出在-5到5区间内有三个解,但solve函数只返回了一个解。可以尝试vpasolve函数。

%vpasolve函数
syms x
eqn=200*sin(x)==x^3 - 1;
vpasolve(eqn, x, [3 4])%用vpasolve函数指定求[3 4]上的解
vpasolve(eqn, x, [-1 1])%用vpasolve函数指定求[-1 1]上的解
vpasolve(eqn, x, -3)   %给定搜索的起始点

1.jpg

还可以用fsolve函数。

1.jpg

%fsolve函数
fun=@root2d;
x0=[0,0];%从 [0,0] 点开始求解方程组。
x=fsolve(fun,x0)

1.jpg

MATLAB求解方程和方程组代码.rar



  

发表评论

评论列表


没有评论

筛选

文章分类

热门文章

企业招聘网址

2023-12-07  浏览:3084次

BC1.2协议介绍

2023-06-14  浏览:2988次

USB2.0速度识别

2023-10-23  浏览:1403次