matlab solve函数的用法 - hngn

matlab solve函数的用法

  solve函数常用于求解符号函数的解析解,方程组的解等

1.solve求解析解

syms x y

q=\'x+y=3\';

w=solve(q,\'x\');% 解函数q关于x的解析解

同样可以写成 solve(\'x+y=3\',\'x\');

但是这样的话就没法给y赋值了,所以使用 subs函数

y=3;

subs(w);%这一步也可以写为 subs(w,\'y\',3)

2.solve解单变量方程

syms x

eqn=sin(x)==1;

solve(eqn,x)

%比如上面的例子,x的取值是可以写为一个通解的,那就可以用下面的形式

syms x

eqn=sin(x)==1;

[solx,params,conds]=solve(eqn,x,\'ReturnConditions\',true)

这段代码的matlab运行结果是

solx =pi/2 + 2*pi*k

params =k

conds =in(k, \'integer\')

%显然这里面params是结果里面的参数,而conds是结果中参数的取值,in是输入的意思,intger是整数

%这里如果上面直接是s=solve的话,那就相当于建立了一个s对象,它的结果就是s.x,条件是s.comdtion

3.求解多变量方程

%如果不指明的话,solve函数就会通过symvar选择一个变量(认为该变量是要求解的变量)

clc,clear

syms a b c x

sola=solve(a*x^2+b*x+c==0,a) %待求解的变量是a

sol=solve(a*x^2+b*x+c==0) %待求解的变量是x

%当求解的变量大于1个时,你声明变量的顺序就是slove返回解的顺序

syms a b

[b,a]=solve(a+b==1,2*a-b==4,b,a)

发表于 2019-11-22 18:23 hngn 阅读(14708) 评论(0) 编辑收藏举报