matlab 符号运算_【基础教程】符号计算

一、建立符号对象

1、建立符号变量和符号常量(sym,syms):

1183a4ec191aa1a9c8c844ef4d44ed15.png

只可以建立一个符号变量

16cfb02104a9947903391f6ca85ae38e.png

可以一次性建立多个符号变量

PS:符号常量计算的结果是精确的数学表达式,而数值常量是进行约分后的常数

2、建立符号表达式:

(1)利用单引号来生成符号表达式:

y='1/sqrt(2*x)';        %符号表达式g='cos(x^2)-sin(x)=0’   %符号方程

(2)用sym函数建立符号表达式:

Y=sym('3*x');   %符号表达式:G=sym ('[a,b;c,d]');         %矩阵表达式

(3)使用已经定义的符号变量组成符号表达式

syms x y;V=3*x^2-5*y+2*x*y+6;

二、符号表达式的计算

1、符号表达式的四则运算

符号表达是的加减乘除运算的实现方法:

(1)使用函数:

%其中f,g为符号表达式symadd(f,g);    %加法symsub(f,g);    %减法symmul(f,g);    %乘法symdiv(f,g);    %除法sympow(f,g);    %幂运算

(2)可以直接使用”+,-,*,/,^“运算符实现运算。

PS:但是MATLAB不一定会化简到最简的形式

2、符号表达式提取分子和分母的运算

[n,d]=numden(s);   %s为符号表达是,n为分子,,d为分母

PS:无论s是什么,MATLAB会进行运算,使得s化为一个分式

3、符号表达式的因式分解与展开

factor(s);   %对符号表示式分解分解因式expands(s);  %对s进行展开collect(s);  %对s合并同类项collect(s,v);%对s按变量v合并同类项。

4、符号表达式的化简

simplify(s);    %应用函数规则对s进行化简。simple(s);      %调用MATLAB的其他函数对表示式进行综合化简。并显示化简过程

5、符号表达式与数值表达式之间的转换

sym(1.5);                 %数值表达式转换为符号表达式numeric('sqrt(5)');       %符号表达式转换为数值表达式eval('sqrt(5)');          %符号表达式转换为数值表达式

三、符号表达式中变量的确定

findsym(s,n);%返回符号表达式s中的n个符号变量,若没有指定n,则返回s中的全部符号变量。

PS:在求函数的极限导数和积分时:如果用户没有明确指定自变量,MATLAB将按缺省原则findsym(s,1)找到缺省变量(离x最近的符号变量);

四、符号矩阵:

使用sym函数可以建立符号矩阵并化简

m=sym('[1/(a+x),1;2;1/(b+y)'];

对矩阵使用的函数同样可以对符号矩阵使用

transpose(s);       %返回s矩阵的转置矩阵determ(s);          %返回s矩阵的行列式值diag(s);            %以矩阵s的元素作为矩阵X的主对角线元素triu(s);            %返回矩阵s上三角矩阵tril(s);            %返回矩阵s下三角矩阵inv(s);             %返回矩阵s的逆矩阵det(s);             %返回矩阵s的行列式的值rank(s);            %返回矩阵的秩eig(s);             %返回矩阵的特征值和特征向量

五、符号微积分

1、符号极限limit

01ead4dab97de8b3131f84c7de924b78.png

f805326ff71c5cbe9e3118c101b08c65.png

2、符号导数diff

97d5088d143002fb553144d75d9c4b33.png

3、符号积分int

739e76f291183e97bc3e96fbb0f5b59c.png

六、积分变换

1、傅里叶变换

(1)概念

d81095fcf1f4ad83b0ffa83aefa18541.png

(2)MATLAB实现

fourier(f,x,t);     %求函数f(x)的傅里叶像函数F(t)ifourier(f,t,x);    %求傅里叶像函数F(t)的原函数f(x).

2、拉普拉斯变换

(1)概念

eb157ad6ad09c487e4c1db122db708b1.png

(2)MATLAB实现

laplace(fx,x,t);     %求函数f(x)的拉普拉斯像函数F(t)ilaplace(Fw,t,x);    %求拉普拉斯像函数F(t)的原函数f(x)

3、Z变换

(1)概念

26c1bf4cdde43a94eafe9e5ef61dae1f.png

(2)MATLAB实现

ztrans(fn,n,z);      %求函数f(n)的Z变换像函数F(z)iztrans(Fz,z,n);     %求函数F(z)的Z变换原函数f(n)

七、级数

1、级数符号求和

symsum(s,v,n,m);     %s表示一个技术的通项,是一个符号表达。%v是求和向量%n和m是开始项和末项(m可以取inf)

2、函数的泰勒级数

taylor(f,v,n,a);     %将函数f按变量v展开为泰勒级数%展开到第n想为止,n的缺省值为6%a为在何处展开,默认a=0

八、符号方程求解

1、符号代数方程求解solve

bf033e7b9f8c851d50f08f237b7405f4.png

2、符号常微分方程的求解dsolve

8181954ef05e7166a7293520d154a751.png

往期回顾>>>>>>

【优化求解】模拟退火遗传实现带时间窗的车辆路径规划问题

【优化算法】遗传算法求最短路径

【优化问题】遗传算法求最值

【基础教程】MATLAB导出高清晰图片

【优化问题】基于栅格地图——遗传算法的机器人最优路径规划

18c6f652605c54a4c42828ad3bc54223.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值