我是靠谱客的博主 友好芹菜,最近开发中收集的这篇文章主要介绍matlab中化简为既约分时,MATLAB学习笔记(九)——MATLAB符号计算,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

(一)符号对象

一、建立符号对象

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

24b17dbe12cd34d7f839a583c8be507d.png

只可以建立一个符号变量

4f410a1271534abf02d2ce1f2212fc6f.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);%返回矩阵的特征值和特征向量

(二)符号微积分

一、符号极限limit

1a9ecfc74f820ae7ac932c57e0173307.png

a8febb922087617e38e9f89ef8ccf295.png

二、符号导数diff

96dfa64650005886ce7c67902a939ae9.png

三、符号积分int

febfd43fede06a6a083a6ed9653f0ec8.png

四、积分变换

1、傅里叶变换

(1)概念

2b8f558bb2f9494f9cf8f5ee92294241.png

(2)MATLAB实现

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

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

2、拉普拉斯变换

(1)概念

9217a908bd99d4d007b27d86cf5363da.png

(2)MATLAB实现

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

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

3、Z变换

(1)概念

0e26e2f387099401a21bdc13397a11c1.png

(2)MATLAB实现

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

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

(三)级数

一、级数符号求和

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

二、函数的泰勒级数

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

(四)符号方程求解

一、符号代数方程求解solve

34c71d81d3d1d5faf3e573867bbf179f.png

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

71901e812ac233c129ea1af6d1fd861c.png

最后

以上就是友好芹菜为你收集整理的matlab中化简为既约分时,MATLAB学习笔记(九)——MATLAB符号计算的全部内容,希望文章能够帮你解决matlab中化简为既约分时,MATLAB学习笔记(九)——MATLAB符号计算所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部