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

Posted clemente

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[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

技术分享图片

 









以上是关于[matlab] 5.字符运算与微积分的主要内容,如果未能解决你的问题,请参考以下文章

精通MATLAB最优化计算的实 例 目 录

matlab 卷积

matlab中,如何加快数据运算速度?

MATLAB信号与系统

Matlab数值积分

OpenCV 中的滤波函数