基本函数的实现与绘制
% 1-1符号函数
function f=funsign(x) %函数题头
if x>0
f=1;
elseif x==0
f=0;
else
f=-1;
end
%1-2绘制正弦曲线
clc;clear;close all;
x=-2*pi:0.01:2*pi;
y=sin(x);
plot(x,y)
%1-3求平方和
clc;clear;close all;
sum=0;
for i=1:10
sum=sum+i^2;
end
简单计算
%1-4计算斐波那契数列小于十的数的和
clc;clear;close all;
a(1)=1;a(2)=2;i=2;sum=a(1);
while a(i)<10
sum=sum+a(i);
a(i+1)=a(i-1)+a(i);
i=i+1;
end
%1-5绝对值的计算
clc;clear;close all;
function y=fabs(x)
if x>=0
y=x;
else
y=-x;
end
%1-6 switch case 语句示例
clc;clear;close all;
for i=1:10
a{i}=89+i;
b{i}=79+i;
c{i}=69+i;
d{i}=59+i;
end
c=[d,c]
Name={'Mike','Tom','Kelvin','Jack','Jermy'};
Mark={61,97,57,76,49};
Rank=cell(1,5);
S=struct('Name',Name,'Marks',Mark,'Rank',Rank);
for i=1:5;
switch S(i).Marks
case 100 S(i).Rank='A';
case a S(i).Rank='B';
case b S(i).Rank='C';
case c S(i).Rank='D';
otherwise
S(i).Rank='E';
end
end
disp(['NAME',blanks(9),'GRADE',blanks(9),'RANK']);
disp('');
for i=q:5
disp(S(i).Name,blanks(10),num2str(S(i).Marks),blanks(10),S(i).Rank)
end
常用信号的函数
| 函数 | 说明 |
|---|---|
| square | 方波 square(宗量,占空比【可省略】) |
| swatooth | 锯齿波 同上可调整占空比 |
| sinc | 抽样信号 |
| diric | 迪利克雷函数 |
| rectpuls | 非周期方波 |
| tripuls | 非周期三角波 |
| pulstran | 脉冲序列 |
| chirp | 调频余弦波 |
傅里叶变换
| 函数 | 说明 |
|---|---|
| fft | 快速离散傅里叶变换 |
| fftshift | 调整fft函数的输出顺序,将零频位置移到频谱的中心 |
| ifft | 计算离散傅里叶反变换 |
%1-9 傅里叶变换
%正弦信号 60Hz 采样率1000Hz 绘制幅度谱
fs=1000;
t=0:1/fs:1;
y=sin(2*pi*t*60);
specty=abs(fft(y));
f=(0:length(specty)-1)*1000/length(specty)
plot(f,specty)
滤波器
| 函数 | 说明 |
|---|---|
| conv | 求卷积 |
| impz | 数字滤波器的冲激响应 |
| zplane | 离散系统的零极点图 |
| abs | 求幅值(绝对值) |
| angle | 求相值 |
| filter | 直接Ⅱ型滤波器 |
FDATool filterDesigner
交互式滤波器与分析工具。

看来我的参考书版本比较老了。

输入提示命令,结果也可以使用,还是用最新版的吧,估计相差不多。因为我的已经是中文版了,使用起来非常方便。
SPTool signalAnalyser
信号的导入、观察、测量。

2976

被折叠的 条评论
为什么被折叠?



