MATLAB中solve的用法

1.简单直接输入

syms a x
re = solve(2*x^2==a,x);

2.先写方程

y = 2*x^2-a;
re2 = solve(y,x);

3. 右边有值

syms a b c x
y = a*x^2+b*x+c==2;
re3 = solve(y,x);
re3;

4. 其它函数,sin(x)*cos(x),求解的表达式

syms x
y = sin(x)*cos(x);
re4 = solve(y,x);
[re4,pa,cond] = solve(y,x,'ReturnConditions',true);
% 其中re4是解的表现形式,pa是解中的参数,cond是参数的形式,整形或者其他

5. 给定解的范围,给解的参数赋值,得出数值解

%% 用法五,特定范围内,求出真实数值解
syms x
y = sin(x)*cos(x);
re5 = solve(y,x);
[re5,pa,cond] = solve(y,x,'ReturnConditions',true);
assume(cond)
interval = [re5>0,re5<2*pi];
s = solve(interval,pa);
v = subs(re5,pa,s);  % 这里举个例子,若re5 = 5+pa,则经过subs函数后,变成5+s

6. 多变量求解

%% 用法六,不局限于求单变量
syms a b c x1 x2
y1 = a*x1^2+b*x2+c;
y2 = a*x1^2-2*b*x2-c^2;
[x1,x2] = solve([y1,y2],[x1,x2])
x1,x2

syms x
y = x^3+1 ==0;
x1 = solve(y,x,'Real',true); % 将求出实际的值

7.多项式求解

%% 用法七,求多项式
syms x
y = x^3+x^2-1==0;
x1 = solve(y,x);
x1 = vpa(x1,10);%% 设置的精度问题
x2 = solve(y,x,'MaxDegree',3); % 更加精确

8.解多元的方程组

syms x y
f1 = x+2*y==1;
f2 = x^2-y==0;
[x,y] = solve([f1,f2],[x,y]);
x,y

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值