[matlab] 5.字符运算与微积分

首先介绍一下matlab里的符号计算

符号变量可以看成是数学中含参数 的表达式中的参数

matlab能进行像(a+b)(a-b)=a^2-b^2这样的计算

要进行符号计算首先要定义符号变量

定义符号对象的命令是syms

syms可以将多个字符转化为符号变量 比如syms x y z;

syms a b
fab = (a + b)*(a - b)

符号变量申明

[matlab] 5.字符运算与微积分

下面介绍一些符号计算常用的命令~~~

collect 合并同类项
expand 展开表达式
factor 因式分解
numden 得到表达式的分子和分母
simplify 化简符号表达式
subs 将符号表达式的便令用其他符号或者数字代替

微积分的部分

首先看求极限 limit 也可以输入doc limit 或 help limit 查看相关文档

[matlab] 5.字符运算与微积分

syms x a b c
f1=((a^x+b^x+c^x)/3)^(1/x);
limit(f1,x,0)

求极限经典例题

[matlab] 5.字符运算与微积分

求积分

使用命令int来求定积分或不定积分

int(f,x)就是求不定积分

要求定积分在后面加一个区间就行了

比如int(f,x,0 ,1)

在求定积分中,如果f只有一个符号变量那么第二个参数变量x可以省略。

[matlab] 5.字符运算与微积分

以二重积分为例

[matlab] 5.字符运算与微积分

syms x y
f=x^2*exp(-y^2);
int(int(f,x,0,y),y,0,1)

二重积分

[matlab] 5.字符运算与微积分

求微分(导数)

使用命令diff(f,x,n)

对f关于x求n次导数,n=1的时候可以省略不写

泰勒级数展开

使用命令t=taylor(f,n,x,a)

求f在x=a处的n-1阶泰勒展开式 (a不写的话默认为0 ,n不写的话默认为7)

[matlab] 5.字符运算与微积分

多项式求根

在matlab里面一个行向量还可以表示一个多项式,例如x^4-3*x^3+2*x-1

系数按照降幂排列写在行向量里面, 表示为p=[1 -3 0 2 -1] ,没有的次项要写0

然后可以用命令roots来求这个多项式的根 比如求x2=1

[matlab] 5.字符运算与微积分

syms x y
[x,y] = solve(x+y==1,x-11*y==5,x,y)

方程组求解

[matlab] 5.字符运算与微积分

 

求零点

fzero(fun,x) 可以求fun在x附近的零点。。。

fun = @fun2; % function
x0 = 0; % initial point
z = fzero(fun,x0)

main.m

function y=f(x)
y=sin(x^2)

fun2.m

[matlab] 5.字符运算与微积分

上一篇:【sping揭秘】6、IOC容器之统一资源加载策略


下一篇:docker制作tomcat镜像