MATLAB中的符号运算与方程求解

  • 在MATLAB中,使用sym和syms表示符号变量。
%% sym函数
a = sym('a');    %第一个a表示变量名,第二个a表示变量字符串
x = sym('x');
%% 两种方法符号表达式f
f1 = a*x^2    %直接使用已定义的符号表示
f2 = str2sym('a*x^2')    %使用str2sym将字符串转换为符号表达式

%% syms函数
syms a b x y
f = a*x^2+b*y

%%使用sym函数创建符号矩阵
  • 使用solve函数求解方程
%% 使用sym函数定义符号
syms a b c x
eqn = (a*x^2+b*x+c)
ans = solve(eqn)
  • 运行结果
eqn =
 
a*x^2 + b*x + c
 
 
ans =
 
-(b + (b^2 - 4*a*c)^(1/2))/(2*a)
-(b - (b^2 - 4*a*c)^(1/2))/(2*a)
  • 求解方程组

对于目标方程组

\left\{\begin{matrix} au^2+v^2=0\\u-v=1 \\ a^2-5a+6=0 \end{matrix}\right.

使用solve函数,预先定义符号

syms a u v
eqn = [a*u^2+v^2 == 0,u-v == 1,a^2-5*a+6 == 0];
[a,u,v] = solve(eqn)

运行结果

a =
 
2
2
3
3
 
u =
 
1/3 - (2^(1/2)*1i)/3
(2^(1/2)*1i)/3 + 1/3
1/4 - (3^(1/2)*1i)/4
(3^(1/2)*1i)/4 + 1/4
 
v =
 
- (2^(1/2)*1i)/3 - 2/3
  (2^(1/2)*1i)/3 - 2/3
- (3^(1/2)*1i)/4 - 3/4
  (3^(1/2)*1i)/4 - 3/4
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值