[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)
符号变量申明

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

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



微积分的部分

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

syms x a b c
f1=((a^x+b^x+c^x)/3)^(1/x);
limit(f1,x,0)
求极限经典例题

求积分

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

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

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

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

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

以二重积分为例

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

 

 求微分(导数)

使用命令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里面一个行向量还可以表示一个多项式,例如x^4-3*x^3+2*x-1

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

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

syms x y 
[x,y] = solve(x+y==1,x-11*y==5,x,y)
方程组求解

 

求零点

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

原文地址:https://www.cnblogs.com/clemente/p/9540715.html