我是靠谱客的博主 多情溪流,最近开发中收集的这篇文章主要介绍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 变换得来的

参考

  • 符号函数与微积分
  • 符号方程

最后

以上就是多情溪流为你收集整理的matlab符号函数与对其的常用操作符号函数求极限求微分求积分级数求和泰勒展开积分变换参考的全部内容,希望文章能够帮你解决matlab符号函数与对其的常用操作符号函数求极限求微分求积分级数求和泰勒展开积分变换参考所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部