matlab符号函数与对其的常用操作

matlab符号运算是一个强大的机制,可以帮助我们进行高数中的各种公式推演,例如极限、微分、积分、级数求和、泰勒展开、积分变换等。而对符号函数求值,只需要用subs语句即可

subs(f,x,0)

也就是用0替换x,相当于求f(0)

符号函数求极限

  • limit(F,x,a):求 F以x为变量在a处的极限
  • limit(F,a):求 a处的极限,采用默认自变量,由 symvar() 给出
  • limit(F):求0处的极限,采用默认自变量 ,由 symvar() 给出
  • limit(F,x,a,flag):求左极限或右极限 ,flag 取值为 left 或 right,代表左右极限
>> syms x f(x)
>> f(x)=x^3+x^2+1
f(x) = x^3 + x^2 + 1

>> limit(f,x,1)
ans(x) = 3
>> limit(f,2)
ans(x) = 13
>> limit(f)
ans(x) = 1


>> f(x)=2^x
f(x) = 2^x
>> limit(f,inf)
ans(x) = Inf
>> limit(f,-inf)
ans(x) = 0

>> limit(f,x,0,'left')
ans(x) = 1
>> limit(f,x,0,'right')
ans(x) = 1

求微分

  • diff(F):对于符号函数或符号矩阵 F,求对默认变量的一阶微分,默认变量由 symvar() 给出
  • diff(F,v):对于符号函数或符号矩阵 F,求对变量 v 的一阶微分
  • diff(F,n):对于符号函数或符号矩阵 F,求对默认变量的 n 阶微分,默认变量由 symvar() 给出
  • diff(F,v,n):对于符号函数或符号矩阵 F,求对变量 v 的 n 阶微分
  • jacobian(w,v):对于符号列向量 w,指定变量 v 所变换的雅克比矩阵,详见附录1:高数相关-4.隐函数求偏导
>> syms x y f(x)
>> f(x)=x^3+2*x
f(x) = x^3 + 2*x
>> diff(f)
ans(x) = 3*x^2 + 2
>> diff(f,2)
ans(x) = 6*x

>> f(x)=x^2+y
f(x) = x^2 + y
>> diff(f,y)
ans(x) = 1

>> syms x y z
>> f(x)=sym([x^2,y^2+z])
f(x) = [ x^2, y^2 + z]
>> jacobian(f,x)
ans(x) =
    2*x
    0
>> jacobian(f,[x,y])
ans(x) =
    [2*x,   0]
    [  0, 2*y]
>> jacobian(f,[x,y,z])
ans(x) = 
    [2*x,   0,    0]
    [0  , 2*y,    1]

求积分

  • int(F):用默认变量求符号函数 F 的不定积分,默认变量由 symvar() 给出
  • int(F,v):用变量 v 求符号函数 S 的不定积分
  • int(F,a,b):用默认变量求符号函数 F 在区间 (a,b)的定积分,默认变量由 symvar() 给出
  • int(F,v,a,b):用变量 v 求符号函数 F 在区间 (a,b)的定积分
>> syms x f(x)
>> f(x)=3*x^2+2*x
f(x) = 3*x^2 + 2*x
>> int(f)
ans(x) = x^2*(x + 1)

>> int(f,1,2)
ans = 10
>> int(f,1,inf)
ans = Inf

级数求和

级数:将数列的项依次用加号连接起来的函数

  • symnsum(S,a,b):求符号表达式 S 中默认变量从 a 到 b 的有限和,默认变量由 symvar() 给出
  • symnsum(S,v,a,b):求符号表达式 S 中变量 v 从 a 到 b 的有限和

说明:取值为 inf 代表无穷

>> syms x y n
>> f(x)=sym(x^2)
f(x) = x^2
>> symsum(f,0,n)
ans = (n*(2*n + 1)*(n + 1))/6
 
>> f(x)=x^2+y
f(x) = x^2 + y
>> symsum(f,y,0,n)
ans(x) = (n + 1)*x^2 + (n*(n + 1))/2

泰勒展开

  • taylor(F):求符号函数 F 默认变量等于 0 处 5 阶的麦克劳林展开式,默认变量由 symvar() 给出
  • taylor(F,v,a,‘Order’,n):求符号函数 F 变量 v=a 处 n-1 阶的泰勒展开式
>> syms x f(x)
>> f(x)=sin(x)
f(x) = sin(x)
>> taylor(f)
ans(x) = x^5/120 - x^3/6 + x

% a=0,麦克劳林展开式
>> taylor(f,x,0,'Order',8)
ans(x) = - x^7/5040 + x^5/120 - x^3/6 + x

% a~=0,泰勒展开式
>> taylor(f,x,3,'Order',5)
ans(x) =
    sin(3) - (sin(3)*(x - 3)^2)/2 + (sin(3)*(x - 3)^4)/24 + cos(3)*(x - 3) - (cos(3)*(x - 3)^3)/6

积分变换

傅里叶变换与反傅里叶变换:

  • Fw=fourier(Ft,t,w):求以 w 为自变量的符号函数 Fw,其是由以 t 为自变量的符号函数 Ft 的傅里叶变换得来的
  • Ft=ifourier(Fw,w,t):求以 t 为自变量的符号函数 Ft,其是由以 w 为自变量的符号函数 Fw 的反傅里叶变换得来的

拉普拉斯变换与反拉普拉斯变换:

  • Fs=laplace(Ft,t,s):求以 s 为自变量的符号函数 Fs,其是以 t 为自变量的符号函数 Ft 拉普拉斯变换得来的
  • Ft=ilaplace(Fs,s,t):求以 t 为自变量的符号函数 Ft,其是以 s 为自变量的符号函数 Fs 反拉普拉斯变换得来的

Z 变换与反 Z 变换:

  • Fz=ztrans(Fn,n,z):求用 z 为变量的符号函数 Fz,其是以变量 n 的符号函数 Fn 的 Z 变换得来的
  • Fn=iztrans(FZ,z,n):求用 n 为变量的符号函数 Fn,其是以变量 z 的符号函数 Fz 的反 Z 变换得来的

参考

  • 4
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值