matlab 符号运算 数值,MATLAB中的微积分运算(数值&符号)

本文详细介绍了MATLAB中的符号微分和数值微分。符号微分包括diff函数的使用,如求一阶、二阶微分,偏导数和复合函数的导数。数值微分则通过diff函数计算一到三阶差分,并对比了数值微分与符号微分在求解过程中的差异。此外,还展示了如何进行符号积分和数值积分,包括不定积分和定积分的计算方法。
摘要由CSDN通过智能技术生成

显然这个函数是单词differential(微分)的简写,用于计算微分。实际上准确来说计算的是差商。

如果输入一个长度为n的一维向量,则该函数将会返回长度为n-1的向量,向量的值是原向量相邻元素的差,于是可以计算一阶导数的有限差分近似。

(1)符号微分

1.常用的微分函数

函数:diff(f)     求表达式f对默认自变量的一次微分值

diff(f,x)  求表达式f对自变量x的一次积分值

diff(f,n)  求表达式f对默认自变量的n次微分值

diff(f,t,n)求表达式f对自变量t的n次微分值

>> x=1:10

x =

1 2 3 4 5 6 7 8 9 10

>> diff(x)

ans =

1 1 1 1 1 1 1 1 1

例1:求矩阵中各元素的导数

求矩阵[1/(1+a)  (b+x)/cos(x)

1/(x*y)   exp(x^2)]

对x的微分,可以输入以下命令

A = sym('[1/(1+a),(b+x)/cos(x);1,exp(x^2)]');

B = diff(A,'x')

可得到如下结果:

27e4273896f40365c1690a40e40017ee.png

例2:求偏导数

6a77a1d79668c700c36bf34bf63719a3.png的偏导数。

syms x y;

f = x*exp(y)/y^2;

fdx = diff(f,x)

fdy = diff(f,y)

可得到如下结果:

f300c85c38827662979774a1728085dd.png

例3:求复合函数的导数

c3ee2f312cb423ebe5aa929003e18cae.png的导数

sym('x');

y = 'x*f(x^2)'

y1 = diff(y,'x')

得到结果如下:

5e8c00fca0e5314ff44cbffc6dc632a2.png

例4:求参数方程的导数

对参数方程

804b3cd6f722a3efbbe2dbaca6ef162e.png求导

syms a b t

f1 = a*cos(t);

f2 = b*sin(t);

A = diff(f2)/diff(f1) %此处代入了参数方程的求导公式

B = diff(f1)*diff(f2,2)-diff(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值