Matlab入门_04

本节介绍for循环的使用。

例:使用for循环绘制门函数(脉冲函数)。

 

     /
     | 1, -1/2 < x <=1/2
y = -|
     | 0, 其他
     \

 

好吧。。

思路:

我们只需要用图将意思表达清楚就行了,所以选择区间[-3, 3],在这里面做出门函数的图像来。这是典型的分段函数,-3到-1/2或1/2到3的函数值为0,-1/2到1/2的函数值为1。

还是使用千点作图法(点越多图像越接近实际),将-3到3的区间划分成1000+1个点(即使用6/1000为间隔)。

先附上程序:

close all;
clear all;
clc;

x = -3 : 6/1000 : 3;
L = length(x);
y = zeros(1, L);

for i = 1 : L
    if (x(i) <= -1/2) || (x(i) > 1/2)
        y(i) = 0;
    else
        y(i) = 1;
    end
end

figure(1);
plot(x, y, 'b');
grid;
axis equal;
title('for循环作图-门函数');
xlabel('x');
ylabel('y');
legend('门函数');

 

然后一行一行的解释。

close all --> 关闭当前所有的figure(图像)。根据实际情况选择是否要加上这条。如果需要同时显示多幅图像,而几个图像并不是在同一个函数文件中生成的,那么后续图像所在的m文件就不要加上这条了。

clear all --> 清理内存。同上,只在程序初始阶段使用,清楚所有占用的内存空间(例如数组等,防止后续误操作或给已分配的变量名赋值为不同类型的数组时报错)。

clc --> 清屏。清理命令窗口(command window),并不清除内存数据。

x = -3 : 6/1000 : 3; 将x作为横轴的数组变量,赋值为-3到3以6/1000为间隔的数组(即横坐标的1000+1个取样点)。

L = length(x); 取x的长度(即1001),放于变量L中。

y = zeros(1, L); 初始化数组y。这一步非常重要。matlab要比c语言灵活,很多变量在使用之前并不需要声明,但是调用数组是个例外。例如使用y(i)来调用数组时,必须给数组提前分配空间。

for循环部分:

for i = 1 : L  定义for循环的计数变量为i, 其值从1递增到L(即1001),增量为1。

if (x(i) <= -1/2) || (x(i) > 1/2) --> if条件判断,x的第i个值小于等于-1/2,或大于1/2时,执行下述语句,以end或else或else if为结尾。

y(i) = 0; 当上述条件为真时,函数值为0。需要说明一下,matlab的数组起始序号是从1开始的,而c语言是从0开始的。

else        y(i) = 1; 当if条件不符合时,也就是x的第i个值大于-1/2且小于等于1/2时,y的第i值为1。

 

figure(1); 新建一个空白图像,标号为1.

plot(x, y, 'b'); 使用plot函数绘图,x为横坐标数组变量,y为纵坐标数组变量,'b'为参数,b为线条颜色,蓝色,也是默认的颜色。其他还有r红色,y黄色,k黑色等等。

grid; 给图像加网格。也可以使用grid on/off对。当前语句只对当前图像(即figure 1)生效。

axis equal; 使横纵坐标轴等间距。

title('for循环作图-门函数'); 图像的标题。

xlabel('x'); x轴的标注。

ylabel('y'); y轴的标注。

legend('门函数'); 图例。如果有多个线条,以绘图时的顺序加图例。

 

附结果图像:

 

下节介绍同一图像绘制多个函数图形的情况。

数字信号处理中常用的matlab工具箱函数简介-数字信号处理中常用的matlab工具箱函数简介.pdf 数字信号处理中常用的matlab工具箱函数简介 摘 要:本文就数字信号处理中所涉及到的一些典型MATLAB工具箱函数进行了简要的介绍,希望能为专从事数字信号处理的人士,在使用MATLAB应用性工具方面,提供一些适当的帮助。[著者文摘] 关键词:MATLAB 应用性工具 数字信号处理 工具箱函数 本文正是考虑到了MATLAB的这些特点,专针对数字信号处理这个领域,对于数字信号处理所最常用的一些MATLAB工具箱函数进行了简要介绍。就数字信号处理和MATLAB两方面无法避开的问题做了原理性的说明。尽量不牵扯到和这个领域无关的知识,甚至有意避开和数字信号处理无关的MATLA B内容。旨在为从事数字信号处理工作和学习的人员在最短的时间内,了解到在使用MATLAB这个应用性工具去解决数字信号处理的问题时,最必要也最核心的知识。最后,本文还列举了两个相关程序,对于文中所提及到的函数的使用,做了一个示范。并收罗了和数字信号处理紧密相关的MATLAB函数,以列表的形式提出,想必一定会为相关人员提供恰当的帮助。 1 数字信号处理中常用的MATLAB函数工具箱介绍 2 关于上述工具箱函数的应用实例 3 小结 本文就数字信号处理中最常用的MATLAB工具箱函数,做了一个简要的使用介绍,着重在数字信号处理的原理方面给予精当说明,力图避开MATLAB当中和数字信号处理无关的知识内容。之后给出了两个数字信号处理中典型的MATLAB程序,为文中提及到的工具箱函数的使用,给予了进一步的示范说明。最后,将文中不曾详细介绍的,数字信号处理中另外一些工具箱函数以列表的形式给出,希望能够为从事这方面工作的人士提供必要的方便。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值