Matlab编程实例(1) 移动平均

MATLAB数字信号处理作业,把自己写的程序发上来..欢迎交流~

QQ 五幺九七九零六四

首先是任意点移动平均:

主程序:mov_average_main.m (运行)

函数:mov_average.m  (多点移动平均)

/////////mov_average_main.m///////////

%多点移动平均

close all;

clear all;

numSample=500;    %采样精度为100

l=input(‘请输入用于平滑的窗口大小"n"‘);

if l>1 && l<50;    %对输入变量控制

else    error(‘您的输入有误!‘);

end;

t = linspace(0,pi/10,numSample); %创建向量

A=10;%信号幅值

p=0;%信号相位

s = A*sin(100 * t+p);%产生正弦信号

n=randn(1,numSample);%用高斯随机构造白噪声

y=s+n;%叠加白噪声

subplot(4,1,1);plot(t,s,‘r‘);

title(‘原信号‘);

subplot(4,1,2);plot(t,n,‘b‘);

title(‘白噪声信号‘);

subplot(4,1,3);plot(t,y,‘k‘);

title(‘叠加白噪声后信号‘);

%调用移动平滑函数

y=mov_average(numSample,l,y);%numSample为采样精度,窗口大小为n

subplot(4,1,4);plot(t,y,‘k‘);

title(‘n点移动平滑后‘);

///////mov_average.m /////////

function y=mov_average(numSample,n,f)

%mov_average是多点移动平滑函数

%numSample为采用精度

%n为用于平滑的窗口大小,其值应大于零且小于numSample

%f为需要进行移动平滑处理的函数

m=0;%m代表正在处理的点

while m<numSample-n+1;%采样点终止位置

m=m+1;

temp=0;%temp用于求n点函数值之和,此处将其清零

for p=0:1:n-1; %p为窗口内变量的增量

temp=temp+f(m+p) %n个点的数值总和

end;

f(m)=temp/n;%求均值

end;

y=f;%回代

时间: 2024-11-05 23:36:58

Matlab编程实例(1) 移动平均的相关文章

一个简单的Matlab面向对象编程实例

新建Dog.m 内容: classdef Dog properties % these are the variables name; age msg; end methods % these are the functions function obj = Dog() % constructor end function obj = setInfo(obj, name, age) obj.name = name; obj.age = age; end function rst = bark(o

MATLAB编程与应用系列-关于MATLAB编程入门教程的总体编写安排

本系列教程来源于出版设计<基于MATLAB编程基础与典型应用书籍>,如涉及版权问题,请联系:[email protected]. 出版社:人民邮电出版社, 页数:525. 本系列教程目前基于MATLABR2006a,可能对于更高级版本的功能和函数有差异,教程中如有问题,请联系:[email protected] #MATLAB基本介绍Matlab工程软件是MathWorks公司推出的一款具备强大数学运算能力的数学软件.随着工具箱的不断丰富和完善,Matlab工程软件几乎可以应用于社会各种工程领

HBase编程实例

摘要:在前文中安装了Hbase,通过Hbase shell可以进行一些操作,但是和实际的编程实例联系起来不方便,因此本文介绍有关Hbase编程的实例. 一.使用Eclipse开发HBase应用程序 1,在Eclipse中新建一个Java Project,命名为HBaseTest,然后右键Properties中选择Java Build Path,选择Add External Jars,将HBase/lib目录下的jar包导入进来. 2,在工程根目录下创建Conf文件夹,将HBase/Conf下的h

c编程实例:809*??=800*??+9*???+1

程序代码: #include<stdio.h>#include<stdio.h>void main(){ int c; int i,j,k; printf("start computing!!!"); for(i=10;i<100;i++){ for(j=100;j<1000;j++){ c=i*809-1-9*j; k=c%800; if(k==0){ k=c/800; if(k>10&&k<100) printf(&q

python 编程实例 1

#python 100 例 1.py #题目:有 1.2.3.4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多 #少? a = {} c = 1 for i in range(1,5): for j in range(1,5): for k in range(1,5): if (i != j,i !=k ,j!= k): #                print (i,j,k) a[c]=(i,j,k) c = c + 1 print (a) #把结果输入到字典 a中,并用c记数

python 编程实例 2

#python 100 2.py #题目:企业发放的奖金根据利润提成.利润 (I)低于或等于 10 万元时,奖金可提 10%:利 #润高 于 10 万元,低于 20 万元时,低于 10 万元的部分按 10%提成,高于 10 万元的部分, #可可提  成 7.5%:20 万到 40 万之间时,高于 20 万元的部分,可提成 5%:40 万到 60 万之间 #时高于 40 万元的部分,可提成 3%:60 万到 100 万之间时,高于 60 万元的部分,可提成 #1.5%,高于 100 万元时,超过

python 编程实例 3

#python 100 例 3.py #题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数.求这个数. import math for x in range(1,100000): y = int(math.sqrt(x + 100)) z = int(math.sqrt(x + 268)) if ( x + 100 == y*y ) and ( x + 268 == z*z): print (x) python 编程实例 3,布布扣,bubuko.com

python 编程实例 4

#python 100例 4.py #输入一个日期,判断这一天是一年中的第几天. import time #print (time.strftime("%Y%m%d%H%M%S")) #当前时间 #print (time.time()) #当前时间的秒数,从1970年1月1日开始计算 b = input("输入一个日期如(20121012): ") #输入要计算的日期 a = b[0:4]+'0101' #获取输入日期的年份并加上1月1日,从当年的1月1日开始计算

python 编程实例 5

#题目:输入三个整数 x,y,z,请把这三个数由小到大输出. #1.程序分析:我们想办法把最小的数放到 x 上,先将 x 与 y 进行比较,如果 x>y 则将 x 与 y #的值交换,再比较X 和Z比较. x = int(input("输入一个正整数X:")) y = int(input("输入一个正整数Y:")) z = int(input("输入一个正整数Z:")) if x >y: if x > z: if y >z