codecamp

MATLAB变换

MATLAB中提供了命令与转换,如拉普拉斯和傅里叶变换。

MATLAB中变换是一种用来从另一个角度简化数据分析科学和工程。

傅立叶变换实现了时间与频率的转换;拉普拉斯变换可以将时域函数变换复频域函数,简化微积分方程计算。

MATLAB提供的拉普拉斯,傅里叶和FFT命令拉普拉斯,傅里叶和快速傅里叶变换工作。

MATLAB拉普拉斯变换

时间函数 f(t)的拉普拉斯变换的函数,通过下式给出下面的积分:


拉普拉斯变换的变换函数 f(t)也表示为,F(次)。可以看到这种变换或一体化进程的符号变量t的函数,F(T),转换成另一个函数F(s)和另一个变量s。

拉普拉斯变换将微分方程转化为代数。要计算一个函数 f(t)的拉普拉斯变换,这样写:

laplace(f(t))

具体示例

接下来,我们会计算一些常用函数的拉普拉斯变换。

在MATLAB中建立一个脚本文件,并输入下述代码:

syms s t a b w
laplace(a)
laplace(t^2)
laplace(t^9)
laplace(exp(-b*t))
laplace(sin(w*t))
laplace(cos(w*t))

运行该文件,显示以下结果:

ans =
 1/s^2

 ans =
 2/s^3

 ans =
 362880/s^10

 ans =
 1/(b + s)
  
ans =
 w/(s^2 + w^2)
  
ans =
 s/(s^2 + w^2)

MATLAB逆拉普拉斯变换

MATLAB中使用命令 ilaplace 计算拉普拉斯逆变换。

例如:

ilaplace(1/s^3)

MATLAB执行上述语句,并显示结果:

ans =
 t^2/2

详细例子

在MATLAB中建立一个脚本文件,并输入下述代码:

syms s t a b w
ilaplace(1/s^7)
ilaplace(2/(w+s))
ilaplace(s/(s^2+4))
ilaplace(exp(-b*t))
ilaplace(w/(s^2 + w^2))
ilaplace(s/(s^2 + w^2))

运行该文件,显示以下结果:

ans =
t^6/720

 ans =
 2*exp(-t*w)

 ans =
 cos(2*t)

 ans =
 ilaplace(exp(-b*t), t, x)

 ans =
 sin(t*w)

 ans =
 cos(t*w)

MATLAB傅立叶变换

傅立叶变换,常用的时间变换的数学函数,函数 f(t),进入一个新的功能,有时记为或F组,其参数是频率与周期/秒(赫兹)或每秒弧度的单位。新的函数,然后被称为傅里叶变换和/或函数f的频谱。

详细例子

在MATLAB中建立一个脚本文件,并输入下述代码:

syms x 
f = exp(-2*x^2);  %our function
ezplot(f,[-2,2])  % plot of our function
FT = fourier(f)	% Fourier transform

运行该文件,MATLAB绘制出下图:

并显示以下结果:

FT =
 (2^(1/2)*pi^(1/2)*exp(-w^2/8))/2

折线图的傅里叶变换为:

ezplot(FT)

给出了如下图:


MATLAB傅立叶逆变换

MATLAB提供的 ifourier 命令,用于计算一个函数的傅立叶逆变换。

例如:

f = ifourier(-2*exp(-abs(w)))

MATLAB执行上述语句,并显示如下结果:

f =
-2/(pi*(x^2 + 1))
MATLAB多项式
MATLAB GNU Octave教程
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }