跳转到主内容
思享编程网:思考分享,玩转编程世界!

MATLAB的solve函数怎么用?新手必看!

大家好,我是陆砚码。今天我们来聊聊MATLAB中的solve函数,这个函数对于初学者来说可能有点难度,但别担心,我会用最简单的方式帮你理解它。

首先,我们得知道solve函数怎么用

在使用solve函数时,有两种输入形式,要么加引号,要么不加。加引号和不加引号有什么区别呢?

syms x y  %创建符号变量x,y
q='x+y=3';   %构建x和y的公式
w = solve(q,'x')   %解函数q,关于x的解析解

如果你这样写,y的值就没办法传入了。不过你可以在后面加上

y=3;  %给变量y赋值
subs(w);  %求解析解w在新的变量更新后的解

不加引号的写法就简单多了:

syms x y

z=3;  %这里可以直接引入变量的值,而用引号创建的函数是无法直接引入的

q1=x+y+z==5;

q2=x+2*y==3;

solve([q1,q2],[x,y]); %这种情况下,是求满足等式组的变量的解析解(或直接为数值解)。

注意,solve函数中不要使用cosd,sind之类的函数

亲测,这些函数在solve中很难使用,甚至不能使用。比如:

syms x y  %创建符号变量x,y
q='sin(x)+cos(y)+sin(y)=2';   %构建x和y的公式
w = solve(q,'x')   %解函数q,关于x的解析解

这个方程比较好解,但如果遇到多个sin,cos的叠加和嵌套,求解会非常困难。这时,你可以尝试将sin和cos转换成其他形式,比如:

syms BB AA  %创建符号变量,用BB代替sinx,用AA代替cos(y),用sqrt(1-AA^2)代替sin(y)
assume(AA>-1&AA<1);
assume(BB>-1&BB<1);
q='BB+AA+sqrt(1-AA^2)=2';   %构建x和y的公式
w = solve(q,'BB')   %解函数q,关于x的解析解

最后,求解析解的时候一定要检查清楚

这个很关键。别自己写错了公式还怪MATLAB解不出来就尴尬了。

好了,今天的分享就到这里。如果你对MATLAB的其他函数或者编程技巧感兴趣,欢迎关注「思享编程网」(www.sxgpb.com),我会在这里分享更多有趣的内容。

相关文章