当前位置:文档之家› matlab信号处理学习总结

matlab信号处理学习总结

matlab信号处理学习总结
matlab信号处理学习总结

常用函数

1 图形化信号处理工具,fdatool(滤波器设计),fvtool(图形化滤波器参数查看)sptool (信号处理),fvtool(b,a),wintool窗函数设计.或者使用工具箱 filter design设计。当使用离散的福利叶变换方法分析频域中的信号时,傅里叶变换时可能引起漏谱,因此

需要采用平滑窗,

2数字滤波器和采样频率的关系。

如果一个数字滤波器的采样率为 FS,那么这个滤波器的分析带宽为Fs/2。也就是说这

个滤波器只可以分析[0,Fs/2]的信号.举个例字:

有两个信号,S1频率为20KHz,S2频率为40KHz,要通过数字方法滤除S2。

你的滤波器的采样率至少要为Fs=80HKz,否则就分析不到 S2了,更不可能将它滤掉

了!(当然根据采样定理,你的采样率 F0也必须大于80HK,,Fs和 F0之间没关系不大,可以任取,只要满足上述关系就行。)

3 两组数据的相关性分析 r=corrcoef(x,y)

4 expm 求矩阵的整体的 exp

4 离散快速傅里叶 fft信号处理中,傅里叶变换的典型用途是将信号分解成幅值分量和频率分量)。Ft为连续傅里叶变换。反傅里叶 ifft

5 ztrans(),Z变换是把离散的数字信号从时域转为频率

6 laplace()拉普拉斯变换是把连续的的信号从时域转为频域

7 sound(x)会在音响里产生 x所对应的声音

8 norm求范数,det行列式,rank求秩

9 模拟频率,数字频率,模拟角频率关系

模拟频率f:每秒经历多少个周期,单位Hz,即1/s;

模拟角频率Ω是指每秒经历多少弧度,单位rad/s;

数字频率w:每个采样点间隔之间的弧度,单位rad。

Ω=2pi*f; w = Ω*T

10 RMS求法

Rms = sqrt(sum(P.^2))或者norm(x)/sqrt(length(x) var方差的开方是std标准差,RMS应该是norm(x)/sqrt(length(x))吧. 求矩阵的RMS:std(A(:))

11 ftshift 作用:将零频点移到频谱的中间

12 filtfilt零相位滤波,

采用两次滤波消除系统的非线性相位,

y = filtfilt(b,a,x);注意x的长度必须是滤波器阶数的3倍以上,滤波器的

阶数由max(length(b)-1,length(a)-1)确定。

13 [h,t]=impz(b,a,n,fs),计算滤波器的冲激响应 h为n点冲击响应向量

[h,x]=freqz(b,a,n,fs)计算频响,有fs时,x为频率f,无fs,x为w角频率,

常用于查看滤波器的频率特性

14 zplane(z,p) 画图零极点分布图

15 beta=unwarp(alpha) 相位会在穿越+-180发生回绕,可将回绕的

16 stepz 求数字滤波器的阶跃响应

[h,t] = stepz(b,a,n,fs)

fvtool(b1,a1,b2,a2,...bn,an) fvtool(Hd1,Hd2,...) h = fvtool(...)

15 IIR数字滤波器设计方法

1 先根据已知带同参数求出最佳滤波器阶数和截止频率

[n,Wn] = buttord(Wp,Ws,Rp,Rs);

[n,Wn] = buttord(Wp,Ws,Rp,Rs,'s')

[b,a]=butter(n,Wn,’ftype’,’s’)

其中Wp为,0-1之间。Ws为阻带角频率,0-1之间。Rp为通带波纹,或者通带衰

减,Rs为阻带衰减。

若果给出的是模拟频率fp1通带截止频率,fp2阻带截止频率,则Wp=fp1*2/fs,

Ws=fp2*2/fs.如果给出的是实际数字频率比如0.3*pi,

如果给出的是

y=filter(b,a,x);或者采用零相位滤波y=filtfilt(b,a,x)

15 传统 FIR滤波器

Ftype为滤波器类型,比如高通,低通,window为窗函数类型。

Window—窗函数。

例子1 设计一个通带滤波器,带宽为 0.35-0.65

b = fir1(48,[0.35 0.65]);

freqz(b,1,512)

16窗函数长度:窗函数的长度应等于 FIR滤波器系数个数,即滤波器阶数n+1。

17 加窗函数的 FIR滤波器长度的确定

17.1 buttord函数求出最佳滤波器阶数和截止频率,然后用 fir1函数调用,窗函数长度

为滤波器最佳阶数 n+1

17.2 用窗函数方法设计 FIR滤波器,由滤波器的过渡带的宽度和选择的窗函数决定

这里举一个选用海明窗函数设计低通滤波器的例子。

低通滤波器的设计要求是:采样频率为100Hz,通带截至频率为 3 Hz,阻带截止频率为 5 Hz,通带内最大衰减不高于0.5 dB,阻带最小衰减不小于50 dB。使用海明窗函数。确定 N的

步骤有:

1,从上表可查得海明窗的精确过渡带宽为 6.6pi/N;(在有些书中用近似过渡带来计算,

这当然没有错,但阶数增大了,相应也增加计算量。)

2,本低通滤波器的过渡带是: DeltaW=Ws-Wp=(5-3)*pi/50=.04pi3,N=6.6pi/DeltaW=6.6pi /0.04pi=165

所以滤波器的阶数至少是165。在该帖子中是用理想低通滤波器的方法来计算的,这里用

fir1函数来计算,相应的程序有

fs=100; % 采样频率

wp = 3*pi/50; ws = 5*pi/50;

deltaw= ws - wp; % 过渡带宽Δω的计算

N = ceil(6.6*pi/ deltaw) + 1; % 按海明窗计算所需的滤波器阶数 N0

wdham = (hamming(N+1))'; % 海明窗计算

Wn=(3+5)/100; % 计算截止频率

b=fir1(N,Wn,wdham);

[H,w]=freqz(b,1);

db=20*log10(abs(H));

% 画频响曲线

plot(w*fs/(2*pi),db);title(' 幅度响应(单位: dB)');grid

axis([0 50 -100 10]); xlabel('频率(单位:Hz)'); ylabel('分贝')

set(gca,'XTickMode','manual','XTick',[0,3,5,50])

set(gca,'YTickMode','manual','YTick',[-50,0])

17 数字滤波器函数 Butter,cheyshev切比雪夫

[b,a]=cheby1(n,rp,wn,options), [b,a]=besself(n,wn,options)

[b,a]=ellip((n,rp,rs,wn,options) n为阶数,wn为截止频率rad/s,rs

为阻带起伏.wn在0-1之间,且1对应于采样频率的一半。

[b,a]=butter(n,Wn,options),

[z,p,k] = butter(n,Wn,'ftype','s')

[z,p,k] = butter(n,Wn,'ftype')

A,B,C,D] = butter(n,Wn,'ftype','s')

‘ftype’对应

'high' 是高通滤波器的归一化截止频率

'low' 低通滤波器的归一化截止频率

'stop' for an order 2*n bandstop digital filter if Wn is a two-element

vector, Wn = [w1 w2]. The stopband is w1 < ω < w2.

21 窗函数

1 矩形窗: Window=boxcar(8);

b=fir1(7,0.4,Window);

freqz(b,1)

2 blackman窗: Window=blackman(8);

b=fir1(7,0.4,Window);

freqz(b,1)

3 hamming;

4 hanning;

5 kaiser

窗函数第一旁瓣相对于主瓣衰减

/dB

主瓣宽阻带最小衰减/dB

矩形窗–13 4π/N 21

三角窗–25 8π/N 25

汉宁窗–31 8π/N 44

海明窗–41 8π/N 53

布拉克曼

–57 12π/N 74

凯塞窗可调可调可调

切比雪夫

可调可调可调

15.1 基于firpm 函数的最佳 fir滤波器设计

例子 f和 a长度相同,且长度为偶数

Graph the desired and actual frequency responses of a 17th-order Parks-McClellan bandpass filter:

f = [0 0.3 0.4 0.6 0.7 1]; a = [0 0 1 1 0 0];

b = firpm(17,f,a);

[h,w] = freqz(b,1,512);

plot(f,a,w/pi,abs(h))

legend('Ideal','firpm Design')

15.2 最佳 FIR滤波器阶数估计

[n,fo,ao,w] = firpmord(f,a,dev)

[n,fo,ao,w] = firpmord(f,a,dev,fs)

例子2 设计一个最低阶低通滤波器通带截止频率500Hz,阻带截止频率6000Hz,采样率

2000Hz,通带波纹小于3dB,阻带衰减大于 40dB.

rp = 3; % Passband ripple

rs = 40; % Stopband ripple

fs = 2000; % Sampling frequency

f = [500 600]; % Cutoff frequencies

a = [1 0]; % Desired amplitudes

dev = [(10^(rp/20)-1)/(10^(rp/20)+1) 10^(-rs/20)];

[n,fo,ao,w] = firpmord(f,a,dev,fs);

b = firpm(n,fo,ao,w);

freqz(b,1,1024,fs);

18 y=resample(x,p,q) 数字信号中的重采样。这时输出信号y的采样频率就

是x的p/q倍,其长度为length(x)*p/q

19 conv 卷积 deconv 反卷积或者求多项式乘法。

xcorr互相关函数 cov协方差 fft2二维FFT fft2二维FFT逆变换

xcorr2 ,conv2 二维卷积

20 平滑滤波filter函数

首先要设计好滤波器,然后调用filter.平滑滤波似乎有些过时,butterworth才显得稍微有些技术含量用法。filter本身作用是求卷积和conv

filter(B,1,X,[],dim);dim缺省为1,是按列滤波的,如果改为2,则是按行滤波。

y = filter(b, a, x),其中b,a为滤波器系数。计算系统在输入x作用下的零状态响应 y[k] 举例:计算低通滤波器的冲激响应

例题1 点平均滤波

f1=3;f2=40;fs=100;t=0:1/fs:1;

x=sin(2*pi*t*f1)+.25*sin(2*pi*t*f2);

b=ones(1,10)/10; y=filter(b,1,x);求冲激响应

stem(y);

yy=filtfilt(b,1,x);

plot(t,x);hold on;

plot(t,x,'r',t,yy,'g')

例 2利用 filter函数求滑动平均

Matlab有多种计算滑动平均的方法,现介绍基于 filter函数的计算方法。设原始数据为x,平均窗口设为a(a为正整数),那么无权重滑动平均后的数据 y为:

windowSize = a;

y=filter(ones(1,windowSize)/windowSize,1,x);

上述命令实际上计算的是:

y(1)=(1/a)*x(1);

y(2)=(1/a)*x(2)+(1/a)*x(1);

y(a)=(1/a)*x(a)+(1/a)*x(a-1)+...+(1/a)*x(1);

y(i)=(1/a)*x(i)+(1/a)*x(i-1)+...+(1/a)*x(i-a+1);

4. frezq数字滤波器的频率响应

[H, W]=freqz(B, A, N) 当 N是一个整数时返回 N点的频率向量H和N点的幅频响

应向量W。N最好选用 2的整数次幂,这样便于使用 FFT进行快速算法。

H为滤波器的复数放大倍数,w为频率向量,如果只想获得放大倍数的幅值,可以用

plot(w,abs(h)).如果是滤波器设计 plot(w/pi,abs(h))

滤波器放大倍数,低频时为1,高频时为0,即低通滤波器

N个频率点均匀地分布在单位圆的上半圆上。如果 N没有确定则却缺省为 512个点。

freqz(B, A, N) 将直接绘制频率响应图,而不返回任何值。

[H, W]=freqz(B, A, N, 'whole') 运用分布在整个单位圆上的 N个点。

H=freqz(B, A, W) 返回指定在 W向量中频率范围的频率响应,其中 W是以弧度为单位

在[0, pi]范围内。

[H,F]=freqz(B, A, N, Fs), [H,F]=freqz(B, A, N, Fs) 这两个函数给出了采样

频率Fs,则返回频率向量F,它们的单位都是Hz。

invfreqz()是其逆函数,它运用最小二乘法从已知的频率响应中求出传递函数模型。

例子 2

滤波器的特性分析二

3.数字滤波器的冲击响应:impz()

[H, T]=impz(B, A) 返回滤波器的冲击响应列向量 H和时间即采样间隔列向量T。

滤波器是用传递函数模型来限定的。

impz(B, A) 将直接绘制滤波器的冲击响应图。

例:设计一个高通 Chebyshev2型滤波器,它的具体要求是阻带的截止频率为10Hz,通带

的截止频率为30Hz,在通带内的最大衰减不超过0.1dB,在阻带内的最小衰减不小于40dB。程序设计如下:

wp=30; ws=10; rp=0.1; rs=40; Fs=100;

wp=10*2*pi; ws=30*2*pi;

[n, wn]=cheb2ord(wp/(Fs/2), ws/(Fs/2), rp, rs, 's');

[z, p, k]=cheb2ap(n, rs);

wn=wn*(Fs/2)*2*pi;

[A, B, C, D]=zp2ss(z,p,k);

[AT, BT, CT, DT]=lp2hp(A, B, C, D, wn);

[AT1, BT1, CT1, DT1]=bilinear(AT, BT, CT, DT, Fs);

[num, den]=ss2tf(AT1, BT1, CT1, DT1);

[H, W]=freqz(num, den);

figure;

plot(W*Fs/(2*pi), abs(H)); grid;

xlabel('频率/Hz');

ylabel('幅值');

impz(num, den);

一、巴特沃斯 IIR滤波器的设计

1 首先根据滤波器设计要求用 buttord函数求出最小滤波器阶数和截止频率

[n,Wn]= buttord(Wp,Ws,Rp,Rs)

其中Wp和 Ws分别是通带和阻带的拐角频率(截止频率),其取值范围为0至1之间。当

其值为 1时代表采样频率的一半。Rp和 Rs分别是通带和阻带区的波纹系数。

不同类型(高通、低通、带通和带阻)滤波器对应的 Wp和 Ws值遵循以下规则:

1.高通滤波器:Wp和 Ws为一元矢量且Wp>Ws;

2.低通滤波器:Wp和 Ws为一元矢量且Wp

3.带通滤波器:Wp和 Ws为二元矢量且Wp

4.带阻滤波器:Wp和 Ws为二元矢量且Wp>Ws,如Wp=[0.1,0.8],Ws=[0.2,0.7]。

2 求出滤波器系数

Butter函数可设计低通、高通、带通和带阻的数字和模拟 IIR滤波器,其特性为使通带内的幅度响应最大限度地平坦,但同时损失截止频率处的下降斜度。在期望通带平滑的情况下,可使用 butter函数。

butter函数的用法为:

[b,a]=butter(n,Wn,ftype)。其中 n代表滤波器阶数,Wn代表滤波器的截止频率

二、契比雪夫 I型 IIR滤波器的设计

在期望通带下降斜率大的场合,应使用椭圆滤波器或契比雪夫滤波器。在 MATLAB下可使用cheby1函数设计出契比雪夫 I型 IIR滤波器。

cheby1函数可设计低通、高通、带通和带阻契比雪夫 I型滤 IIR波器,其通带内为等波纹,阻带内为单调。契比雪夫 I型的下降斜度比 II型大,但其代价是通带内波纹较大。

cheby1函数的用法为:

[b,a]=cheby1(n,Rp,Wn,/ftype/)

在使用 cheby1函数设计 IIR滤波器之前,可使用 cheblord函数求出滤波器阶数 n和截止频率Wn。cheblord函数可在给定滤波器性能的情况下,选择契比雪夫 I型滤波器的最小阶和截止频率Wn。

cheblord函数的用法为:

[n,Wn]=cheblord(Wp,Ws,Rp,Rs)

其中 Wp和 Ws分别是通带和阻带的拐角频率(截止频率),其取值范围为0至1之间。当

其值为 1时代表采样频率的一半。Rp和 Rs分别是通带和阻带区的波纹系数。

例1

选择设计 IIR的 Butterworth低通滤波器,其 Fs=22050Hz,Fp1=3400Hz,

Fs1=5000Hz,Rp=2dB,Rs=20dB

Fs=22050;Fp1=3400;Fs1=5000;Rp=3;Rs=20;%设计指标

wp1=2*Fp1 /Fs;ws1=2*Fs1 /Fs;%求归一化频率

% 确定 butterworth 的最小阶数 N 和频率参数 Wn

[n,Wn]=buttord(wp1,ws1,Rp,Rs);

[B,A] = butter(N,Wn);%确定传递函数的分子、分母系数

[h,f]=freqz(b,a,Nn,Fs_value);%生成频率响应参数

plot(f,20*log(abs(h))) %画幅频响应图

plot(f,angle(h)); %画相频响应图

%[N, Wn] = buttord(Wp, Ws, Rp, Rs) 确定 butterworth 的 N 和 Wn

%[N, Wn] = cheblord ( (Wp, Ws, Rp, Rs) 确定 Chebyshev滤波器的 N 和 Wn

%[N, Wn] = cheb2ord (Wp, Ws, Rp, Rs) 确定 Chebyshev2滤波器的 N 和 Wn

%[N, Wn] = ellipord (Wp, Ws, Rp, Rs)确定椭圆(Ellipse) 滤波器的 N 和 Wn

%[B,A] = butter(N,Wn,'type')设计'type'型巴特沃斯(Butterworth)滤波器 filter.

%[B,A] = cheby1 (N,R,Wn, 'type')设计'type'型切比雪夫Ⅰ滤波器 filter.

%[B,A] = cheby2(N,R,Wn, 'type')设计'type'型切比雪夫Ⅱ滤波器 filter.

%[B,A] = ellip(N,Rp,Rs,Wn, 'type')设计'type' 型椭圆 filter.

例子 2

%实现了对频率为 20和 200Hz单频叠加 cos信号的低通滤波,使输出仅含有 20Hz分量clear;

fs=1200; %采样频率

N=1200; % N/fs 秒数据

n=0:N-1;

t=n/fs; %时间

fL=20;

fH=200;

sL=cos(2*pi*fL*t);

sH=cos(2*pi*fH*t);

s=sL+sH;

% s_in_f=fft(s);

% i=1:250;

% plot(i,s_in_f(i));

figure(1);

plot(t,s);

title('输入信号');

xlabel('t/s');

ylabel('幅度');

%设计低通滤波器:

Wp = 50/fs; Ws = 100/fs; %截止频率50Hz,阻带截止频率100Hz,采样频率 200Hz [n,Wn] = buttord(Wp,Ws,1,50); %阻带衰减大于50db,通带纹波小于 1db

%估算得到 Butterworth低通滤波器的最小阶数 N和 3dB截止频率 Wn

[a,b]=butter(n,Wn); %设计 Butterworth低通滤波器

[h,f]=freqz(a,b,'whole',fs); %求数字低通滤波器的频率响应

f=(0:length(f)-1)'*fs/length(f); %进行对应的频率转换

figure(2);

plot(f,abs(h)); %绘制 Butterworth低通滤波器的幅频响应图

title('巴氏低通滤波器');

grid;

sF=filter(a,b,s); %叠加函数 s经过低通滤波器以后的新函数

figure(3);

plot(t,sF); %绘制叠加函数 S经过低通滤波器以后的时域图形

xlabel('t/s');

ylabel('幅度');

SF=fft(sF,N); %对叠加函数S经过低通滤波器以后的新函数进行256点的基—2快

速傅立叶变换

mag=abs(SF); %求幅值

f=(0:length(SF)-1)'*fs/length(SF); %进行对应的频率转换

figure(4);

plot(f,mag); %绘制叠加函数 S经过低通滤波器以后的频谱图

title('低通滤波后的频谱图');

4 窗函数法 FIR滤波器设计实验

FIR滤波器的设计任务是选择有限长度的h(n)。使传输函数H( )满足技术要求。FIR滤波器的设计方法有多种,如窗函数法、频率采样法及其它各种优化设计方法,本实验介绍窗函数法的 FIR滤波器设计。

窗函数法是使用矩形窗、三角窗、巴特利特窗、汉明窗、汉宁窗和布莱克曼窗等设计出标

准响应的高通、低通、带通和带阻 FIR滤波器。

一、firl函数的使用

在 MATLAB下设计标准响应 FIR滤波器可使用 firl函数。firl函数以经典方法实现加窗线性相位 FIR滤波器设计,它可以设计出标准的低通、带通、高通和带阻滤波器。firl函数

的用法为:

b=firl(n,Wn,/ftype/,Window)

各个参数的含义如下:

b—滤波器系数。对于一个 n阶的 FIR滤波器,其 n+1个滤波器系数可表示为:

b(z)=b(1)+b(2)z-1+…+b(n+1)z-n。

n—滤波器阶数。

Wn—截止频率,0≤Wn≤1,Wn=1对应于采样频率的一半。当设计带通和带阻滤波器时,Wn=[W1 W2],W1≤ω≤W2。

ftype—当指定 ftype时,可设计高通和带阻滤波器。Ftype=high时,设计高通 FIR滤波器;ftype=stop时设计带阻 FIR滤波器。低通和带通 FIR滤波器无需输入 ftype参数。Window—窗函数。窗函数的长度应等于 FIR滤波器系数个数,即阶数n+1。

二、窗函数的使用

在 MATLAB下,这些窗函数分别为:

1.矩形窗:w=boxcar(n),产生一个 n点的矩形窗函数。

2.三角窗:w=triang(n),产生一个 n点的三角窗函数。

当 n为奇数时,三角窗系数为 w(k)=

当 n为偶数时,三角窗系数为 w(k)=

3.巴特利特窗:w=Bartlett(n),产生一个 n点的巴特利特窗函数。

巴特利特窗系数为 w(k)=

巴特利特窗和三角窗非常相似。巴特利特窗在取样点1和n上总以零结束,而三角窗在这

些点上并不为零。实际上,当 n为奇数时bartlett(n)的中心n-2个点等效于 triang(n-2)。

4.汉明窗:w=hamming(n),产生一个 n点的汉明窗函数。

汉明窗系数为w(k+1)=0.54-0.46cos() k=0,…,n-1

5.汉宁窗:w=hanning(n),产生一个 n点的汉宁窗函数。

汉宁窗系数为w(k)=0.5[1-cos( )] k=1,…,n

6.布莱克曼窗:w=Blackman(n),产生一个 n点的布莱克曼窗函数。

布莱克曼窗系数为w(k)=0.42-0.5cos(2π )+0.8cos(4π)] k=1,…,n

和等长度的汉明窗和汉宁窗相比,布莱克曼窗的主瓣稍宽,旁瓣稍低。

7.凯泽窗:w=Kaiser(n,beta),产生一个 n点的凯泽窗数,其中 beta为影响窗函数旁瓣

的β参数,其最小的旁瓣抑制α和β的关系为:

0.1102(α-0.87) α>50

β= 0.5842(α-21)0.4+0.07886(α-21) 21≤α≤50

0 α<21

增加β可使主瓣变宽,旁瓣的幅度降低。

8.契比雪夫窗:w=chebwin(n,r)产生一个 n点的契比雪夫窗函数。其傅里叶变换后的旁瓣

波纹低于主瓣r个db数。

例子1.FIR低通滤波器截止频率为200Hz,采样频率为1000Hz,输入信号

x(t)=sin(100πt)+sin(500πt)滤波,求滤波器的输出.

n=1000;

fc=200;

fs=1000;

w=2*fc/fs;

t=(0:1000)/fs;

window=boxcar(n+1);

b=fir1(n,w,window);

b=freqz(b,1,512,fs);

s = sin(100*pi*t)+sin(500*pi*t);%混和正弦波信号

subplot(2,1,1);plot(t,s);

sf = filter(b,1,s);%对信号 s进行滤波

subplot(2,1,2);plot(t,sf);

3.绘制矩形窗的幅频响应,窗长分别为:N=10;N=20;N=50;N=100

分析四个窗函数窗长增加,幅频响应怎样.

wc=0.2*pi; %设一个截止频率

%窗函数

w1=boxcar(10);

w2=boxcar(20);

w3=boxcar(50);

w4=boxcar(100);

n1=1:1:10;

n2=1:1:20;

n3=1:1:50;

n4=1:1:100;

%求 h(d)

hd1=sin(wc*(n-5.5))./(pi*(n-5.5));

hd2=sin(wc*(n-10.5))./(pi*(n-10.5));

hd3=sin(wc*(n-24.5))./(pi*(n-24.5));

hd4=sin(wc*(n-49.5))./(pi*(n-49.5));

%加窗

h1=hd1.*w1';

h2=hd2.*w2';

h3=hd3.*w3';

h4=hd4.*w4';

%求幅频特性曲线

[mag1,rad]=freqz(h1);

[mag2,rad]=freqz(h2);

[mag3,rad]=freqz(h3);

[mag4,rad]=freqz(h4);

%画幅频特性曲线

subplot(4,1,1);plot(rad,20*log10(abs(mag1)));title('N=10');xlabel('频率/rad');ylabel('幅度/dB');

subplot(4,1,2);plot(rad,20*log10(abs(mag2)));title('N=20');xlabel('频率/rad');ylabel('幅度/dB');

subplot(4,1,3);plot(rad,20*log10(abs(mag3)));title('N=50');xlabel('频率

/rad');ylabel('幅度/dB');

subplot(4,1,4);plot(rad,20*log10(abs(mag4)));title('N=100');xlabel('频率

/rad');ylabel('幅度/dB');

例子 2

1.含有5Hz、15Hz和 30Hz的混和正弦波信号,设计一个 FIR带通滤波器,参数要求:采样频率fs=100Hz,通带下限截止频率fc1=10Hz,通带上限截止频率fc2=20Hz,过渡带宽

6Hz,通阻带波动0.01,采用凯塞窗设计。

[n,Wn,beta,ftype]=kaiserord([7 13 17 23],[0 1 0],[0.01 0.01 0.01],100);

%得出滤波器的阶数n=38,beta=3.4

fc1=10;

fc2=20;

fs=100;

w1=2*fc1/fs; w2=2*fc2/fs;%将模拟滤波器的技术指标转换为数字滤波器的技术指标window=kaiser(n+1,beta);%使用 kaiser窗函数

b=fir1(n,[w1 w2],window);%使用标准频率响应的加窗设计函数 fir1

freqz(b,1,512);%数字滤波器频率响应

t = (0:100)/fs;

s = sin(2*pi*t*5)+sin(2*pi*t*15)+sin(2*pi*t*30);%混和正弦波信号

subplot(2,1,1);plot(t,s);title('混合信号');

sf = filter(b,1,s);%对信号 s进行滤波

subplot(2,1,2);plot(t,sf);title('滤波后信号');xlabel('时间');ylabel('幅度');

2.设计一低通滤波器,通带为 0至1kHz,阻带从 1500Hz到4000Hz,通带允差5%,阻带波纹允差1%,阻带衰减40dB。

fs=4000;

dev=[0.05 0.01];

fedge=[1000 1500];

N=200;

[n,Wn,beta,ftype]=kaiserord(fedge,[1 0],dev,fs);

window=kaiser(n+1,beta);

b=fir1(n,[1000 1500]/fs,window);%使用标准频率响应的加窗设计函数 fir1

freqz(b,1,512);%数字滤波器频率响应

4 FDATool设计法

FDATool(Filter Design & Analysis Tool)是 MATLAB信号处理工具箱专用的滤波器

设计分析工具,操作简单、灵活,可以采用多种方法设计 FIR和 IIR滤波器。在 MATLAB命令窗口输入 FDATool后回车就会弹出 FDATool界面。

4.1 带通滤波器设计

已知滤波器的阶数n=38,beta=3.4。本例中,首先在 Filter Type中选择Bandpass;

在 Design Method选项中选择FIR Window,接着在 Window选项中选取Kaiser,Beta值为3.4;指定 Filter Order项中的 Specify order为38;采样频率Fs=100Hz,截止频率 Fc1= 10Hz,Fc2=20Hz。设置完以后点击窗口下方的Design Filter,在窗口上方就会看到所设计

滤波器的幅频响应,通过菜单选项 Analysis还可以看到滤波器的相频响应、组延迟、脉冲响应、阶跃响应、零极点配置等。设计完成后将结果保存为 kaiser15.fda文件。

4.2 Simulink仿真

在 Simulink环境下,将滤波器文件 kaiser15.fda导入 Digital Filter Design模块,

输入信号为s(t)=sin(10πt)+sin(30πt)+sin(60πt),生成的仿真图和滤波效果如图2所示。

(1)Simulink仿真图(2)滤波前后的离散波形

图 2 Simulink仿真图和滤波效果图

5 SPTool设计法

SPTool是 MATLAB信号处理工具箱中自带的交互式图形用户界面工具,它包含了信号

处理工具箱中的大部分函数,可以方便快捷地完成对信号、滤波器及频谱的分析、设计和浏览。在本例中按以下步骤完成滤波器的设计和滤波:

创建并导入信号源。

在 MATLAB命令窗口输入命令:

Fs=100;t = (0:100)/Fs;

s = sin(2*pi*t*5)+sin(2*pi*t*15)+sin(2*pi*t*30);

此时,变量Fs、t、s将显示在 workspace列表中。在命令窗口键入Sptool,将弹出 Sptool 主界面,如图 3所示;点击菜单 File/Import将信号 s导入并取名为s。

(2)单击 Filters列表下的New,按照参数要求设计出滤波器filt1,具体步骤类似

于3.2.1。

(3)将滤波器 filt1使用到 s信号序列。分别在Signals、Filters、Spectra列表中

选择s、filt1、mtlbse,单击 Filters列表下的 Apply按钮,在弹出的 Apply Filter对话框中将输出信号命名为sin15hz。

(4)进行频谱分析。在 Signals中选择s,单击 Spectra下的 Create按钮,在弹出

的 Spectra Viewer界面中选择 Method为FFT,Nfft=512,单击 Apply按钮生成 s的频谱spect1。同样的步骤可以生成信号 sin15hz的频谱spect2。

分别选中信号s、sin15hz、spect1、spect2,单击各自列表下方的 View按钮,即可

观察他们的波形,如图 4所示。

图 3 SPTool主界面图4 滤波前后的时域波形和频域特性

由图 4可以看出,带通滤波器 filt1使输入信号 s中频率为 15hz的正弦波信号通过,

而将频率为 5hz和 30hz的正弦波信号大大衰减。

matlab语音信号处理

fs=22050; %语音信号采样频率为 22050

x1=wavread('Windows Critical Stop.wav'); %读取语音信号的数据,赋给变量 x1 sound(x1,22050); %播放语音信号

y1=fft(x1,1024); %对信号做 1024点 FFT变换

f=fs*(0:511)/1024;

figure(1)

plot(x1) %做原始语音信号的时域图形

title('原始语音信号');

xlabel('time n');

ylabel('fuzhi n');

figure(2)

freqz(x1) %绘制原始语音信号的频率响应图

title('频率响应图')

figure(3)

subplot(2,1,1);

plot(abs(y1(1:512))) %做原始语音信号的 FFT频谱图

title('原始语音信号 FFT频谱')

subplot(2,1,2);

plot(f,abs(y1(1:512)));

title('原始语音信号频谱')

xlabel('Hz');

ylabel('fuzhi');

程序2:

fs=22050; %语音信号采样频率为 22050

x1=wavread('Windows Critical Stop.wav'); %读取语音信号的数据,赋给变量 x1 t=0:1/22050:(size(x1)-1)/22050;

y1=fft(x1,1024); %对信号做 1024点 FFT变换

f=fs*(0:511)/1024;

x2=randn(1,length(x1)); %产生一和 x长度一致的随机信号

sound(x2,22050);

figure(1)

plot(x2) %做原始语音信号的时域图形

title('高斯随机噪声');

xlabel('time n');

ylabel('fuzhi n');

randn('state',0);

m=randn(size(x1));

x2=0.1*m+x1;

sound(x2,22050);%播放加噪声后的语音信号

y2=fft(x2,1024);

figure(2)

plot(t,x2)

title('加噪后的语音信号');

xlabel('time n');

ylabel('fuzhi n');

figure(3)

subplot(2,1,1);

plot(f,abs(y2(1:512)));

title('原始语音信号频谱');

xlabel('Hz');

ylabel('fuzhi');

subplot(2,1,2);

plot(f,abs(y2(1:512)));

title('加噪后的语音信号频谱');

xlabel('Hz');

ylabel('fuzhi');

根据以上代码,你可以修改下面有错误的代码

程序3:双线性变换法设计 Butterworth滤波器

fs=22050;

x1=wavread('h:\课程设计 2\shuzi.wav');

t=0:1/22050:(size(x1)-1)/22050;

Au=0.03;

d=[Au*cos(2*pi*5000*t)]';

x2=x1+d;

wp=0.25*pi;

ws=0.3*pi;

Rp=1;

Rs=15;

Fs=22050;

Ts=1/Fs;

wp1=2/Ts*tan(wp/2); %将模拟指标转换成数字指标

ws1=2/Ts*tan(ws/2);

[N,Wn]=buttord(wp1,ws1,Rp,Rs,'s'); %选择滤波器的最小阶数

[Z,P,K]=buttap(N); %创建 butterworth模拟滤波器

[Bap,Aap]=zp2tf(Z,P,K);

[b,a]=lp2lp(Bap,Aap,Wn);

[bz,az]=bilinear(b,a,Fs); %用双线性变换法实现模拟滤波器到数字滤波器的转换

[H,W]=freqz(bz,az); %绘制频率响应曲线

figure(1)

plot(W*Fs/(2*pi),abs(H))

grid

xlabel('频率/Hz')

ylabel('频率响应幅度')

title('Butterworth')

f1=filter(bz,az,x2);

figure(2)

subplot(2,1,1)

plot(t,x2) %画出滤波前的时域图

title('滤波前的时域波形');

subplot(2,1,2)

plot(t,f1); %画出滤波后的时域图

title('滤波后的时域波形');

sound(f1,22050); %播放滤波后的信号

F0=fft(f1,1024);

f=fs*(0:511)/1024;

figure(3)

y2=fft(x2,1024);

subplot(2,1,1);

plot(f,abs(y2(1:512))); %画出滤波前的频谱图

title('滤波前的频谱')

xlabel('Hz');

ylabel('fuzhi');

subplot(2,1,2)

F1=plot(f,abs(F0(1:512))); %画出滤波后的频谱图title('滤波后的频谱')

xlabel('Hz');

ylabel('fuzhi');

程序4:窗函数法设计滤波器:

fs=22050;

x1=wavread('h:\课程设计 2\shuzi.wav');

t=0:1/22050:(size(x1)-1)/22050;

Au=0.03;

d=[Au*cos(2*pi*5000*t)]';

x2=x1+d;

wp=0.25*pi;

ws=0.3*pi;

wdelta=ws-wp;

N=ceil(6.6*pi/wdelta);

wn=(0.2+0.3)*pi/2;

b=fir1(N,wn/pi,hamming(N+1));

figure(1)

%取整

%选择窗函数,并归一化截止频率

freqz(b,1,512)

f2=filter(bz,az,x2)

figure(2)

subplot(2,1,1)

plot(t,x2)

title('滤波前的时域波形');

subplot(2,1,2)

plot(t,f2);

title('滤波后的时域波形');

sound(f2,22050); %播放滤波后的语音信号

F0=fft(f2,1024);

f=fs*(0:511)/1024;

figure(3)

y2=fft(x2,1024);

subplot(2,1,1);

plot(f,abs(y2(1:512)));

title('滤波前的频谱')

xlabel('Hz');

ylabel('fuzhi');

subplot(2,1,2)

F2=plot(f,abs(F0(1:512)));

title('滤波后的频谱')

xlabel('Hz');

ylabel('fuzhi');

1:使用 wavrecord函数

2:使用 awgn等函数

3:使用 fdatool可以设计滤波器

5:wavplay

6: guide

matlab 滤波

matlab滤波的方法包括平滑滤波,fir,irr,小波滤波,小波包滤波,自适应

lms,rls滤波,最佳 fir滤波,fadtool,或者使用 filter design工具箱。

filter适合于平滑滤波,对于无特殊要求的滤波。y = filter(b, a, x),其中b,a为滤波器系数。计算系统在输入x作用下的零状态响应y[k]。可以结合filter函数和fir滤波或者

irr滤波。b,a可以使fir或者irr产生的滤波器系数。

fir滤波线性相位滤波器适用于比较严格的场合,irr对于一般的滤波,对相位无严格

要求。小波滤波可以实现多频率的,多尺度的信号分解,把信号分为高频和低频,在振动信号处理中,高频信号一般为噪声。小波包是小波的升级和改进,可以对高频实现更高的分辨率分解。

1 基于 filter平滑滤波(效果没有 fir,iir好),这个滤波器的指标应该是最小

的均方差。

f1=3;f2=40;fs=100;t=0:1/fs:1;

x=sin(2*pi*t*f1)+.25*sin(2*pi*t*f2);

b=ones(1,10)/10; y=filter(b,1,x);

plot(t,x,'r',t,y,'g')。

从图中看出 filter方法可实现平滑滤波,但有相对迟滞。

2 filtfilt 零相位平滑滤波(不推荐,这里 b的长度取值对滤波后信号的幅

值有影响)

f1=3;f2=40;fs=100;t=0:1/fs:1;

x=sin(2*pi*t*f1)+.25*sin(2*pi*t*f2);

b=ones(1,10)/10

yy=filtfilt(b,1,x);

plot(t,x);hold on;

plot(t,x,'r',t,yy,'g')

3 IIR滤波器,结合零相位滤波 filtfilt

fp1=3;fs1=10;f2=40;Fs=100;t=0:1/fs:1;Rp=1;As=30;%此处采样率并不是越

高越好,一般设为信号最高频率 5-15倍即可。

x=sin(2*pi*fp1*t)+.25*sin(2*pi*f2*t);

[n,wn]=buttord(2*fp1/Fs,2*fs1/Fs,Rp,As);

[b,a]=butter(n,wn);%默认为低通滤波

yf=filter(b,a,x);%用平滑滤波

y=filtfilt(b,a,x) ;

plot(t,x,'r',t,y,'g',t,yf,'b')

4 传统 FIR滤波器

方法一采用窗的精度计算所需滤波器阶数。

fp1=3;fs1=4 ;f2=40;Fs=100;t=0:1/Fs:4;

x=sin(2*pi*t*fp1)+.25*sin(2*pi*t*f2) ;

wp = fp1*pi/50;ws =fs1*pi/50;

deltaw= ws - wp;% 过渡带宽Δω的计算

N = ceil(6.6*pi/ deltaw) + 1; % 按海明窗计算所需的滤波器阶数N0

wdham = (hamming(N+1))';% 海明窗计算

Wn=(3+4)/100;% 计算截止频率

b=fir1(N,Wn,wdham);

y=filter(b,1,x) ;

yt=filtfilt(b,1,x) ;此函数要求 x长度至少为滤波器阶数的 3倍。

方法2 直接设出滤波器阶数,然后凑试

fp1=3;fs1=10;f2=40;Fs=100;t=0:1/Fs:4

x=sin(2*pi*t*fp1)+.25*sin(2*pi*t*f2)

plot(t,x) ;n=50;

b=fir1(n,2*fs1/Fs,hamming(n+1))

y=filter(b,1,x);plot(t,x,t,y)

yz=filtfilt(b,1,x);plot(t,x,t,yz)

5 小波去噪

fp1=3;fs1=10;f2=40;Fs=100;t=0:1/Fs:4

x=sin(2*pi*t*fp1)+.25*sin(2*pi*t*f2)

[c,l]=wavedec(x,3,'db6');

a3=wrcoef('a',c,l,'db6',3);

plot(t,a3,'r',t,y,'g')

可以看出效果很好。

6 自适应 lms滤波器 kalman filter rls ,lms,adapltkalman

6.1 自适应 lms滤波器

[y,e,s]=adaptlms(x,d,s);%x为输入,y为输出,d为期望信号,e为误差信号,s包

含自适应滤波器的结构体。s=initlms(h0,Mu),ho为滤波器系数的初始值;Mu为步长参数。

6.2 自适应卡尔曼滤波器

Y = adaptkalman(X,D,S)

例子1: 自适应 lms算法:31阶 fir滤波器系统辨识。(进行 500次迭代)

x = 0.1*randn(1,500); % Input to the filter

b = fir1(31,0.5); % FIR system to be identified

d = filter(b,1,x); % Desired signal

w0 = zeros(1,32); % Initial filter coefficients

mu = 0.8; % LMS step size

S = initlms(w0,mu);

[y,e,S] = adaptlms(x,d,S);

stem([b.',S.coeffs.']);

legend('Actual','Estimated');

title('System Identification of an FIR filter');grid on

例子 2 自适应卡尔曼滤波器

x = 0.1*randn(1,500); % Input to the filter

b = fir1(31,0.5); % FIR system to tbe identified

d = filter(b,1,x); % Desired signal

w0 = zeros(1,32); % Initial filter coefficients

K0 = 0.5*eye(32); % Initial state error correlation matrix

Qm = 2; % Measurement noise covariance

Qp = 0.1*eye(32); % Process noise covariance

S = initkalman(w0,K0,Qm,Qp);

[y,e,S] = adaptkalman(x,d,S);

stem([b.',S.coeffs.']);

legend('Actual','Estimated');

title('System Identification of an FIR filter via Kalman filter');grid on;

小波学习

3 小波变换

是一种信号的时间—尺度(时间—频率)分析方法,它具有多分辨率分析

(Multi-resolutionAnalysis)的特点,而且在时频两域都具有表征信号局部特征的能力,

是一种窗口大小固定不变,但其形状可改变,时间窗和频率窗都可以改变的时频局部化分

析方法。即在低频部分具有较高的频率分辨率和较低的时间分辨率,在高频部分具有较高

的时间分辨率和较低的频率分辨率,很适合于探测正常信号中夹带的瞬态反常现象并展示

其成分,所以被誉为分析信号的显微镜。

在实际的信号处理过程中,尤其是对非平稳信号的处理中,信号在任一时刻附近的频

域特征都很重要。如柴油机缸盖表面的振动信号就是由撞击或冲击产生的,是一瞬变信号,单从时域或频域上来分析是不够的。这就促使人们去寻找一种新方法,能将时域和频域结

合起来描述观察信号的时频联合特征,构成信号的时频谱。这就是所谓的时频分析法,亦

称为时频局部化方法。

5 小波分析和小波包的区别

小波包分解是在小波基础上发展的,比小波分解更高级,对信号的分解重构更能体

现多分辨率的特征,你应该看看MALLAT算法,看看它们的分解示意图

为了克服小波分解在高频段的频率分辨率较差,而在低频段的时间分辨率较差的缺点,

人们在小波分解的基础上提出了小波包分解。小波包分解提高了信号的时频分辨率。是一

种更精细的信号分析方法。

由于多分辨率分析只对低频进行分解,对高频部分则保留不动,为了分析振动信号的

高频部分,则用小波包分析,它对低频和高频部分进行再分解.

1 wavemenu,打开图形界面窗口

2 常用小波基函数

常用的

haar,’db1’,’db2’,’bior1.3’,’bior2.4’,’bior2.6’,’coif4’

小波家族:

Daubechies系列:'db1' or 'haar', 'db2', ... ,'db10', ... , 'db45'

Coiflets系列:'coif1', ... , 'coif5'

Symlets系列:'sym2', ... , 'sym8', ... ,'sym45'

Discrete Meyer:系列'dmey'

Biorthogonal系列: 'bior1.1', 'bior1.3', 'bior1.5', 'bior2.2', 'bior2.4',

'bior2.6', 'bior2.8','bior3.1', 'bior3.3', 'bior3.5', 'bior3.7','bior3.9',

'bior4.4', 'bior5.5', 'bior6.8'

Reverse Biorthogonal系列:'rbio1.1', 'rbio1.3', 'rbio1.5','rbio2.2', 'rbio2.4', 'rbio2.6', 'rbio2.8','rbio3.1', 'rbio3.3', 'rbio3.5', 'rbio3.7','rbio3.9',

'rbio4.4', 'rbio5.5', 'rbio6.8'

3 cwt 一维连续小波变换函数

Z=cwt(y,scale,’mexh’,’plot’);墨西哥帽函数名称为mexh,其中为所用函数的

尺度,一般取 1:32,1:64,1:48等。

例子 1 连续小波变换。

t=0:0.03:2*pi;y=sin(t.^2);plot(t,y);

A=1:32;z=cwt(y,A,'mexh','plot');

Surf(y,a,z);shading flat;axis([0,2*pi,0,32,min(z(:)),max(z(:));

例子 2 已知一信号 f(t)=3sin(100πt)+2sin(68πt)+ 5cos(72πt),且该信号混有

白噪声,对该信号进行连续小波变换。小波函数取db3,尺度为1、1.2、1.4、1.6、 (3)

t=0:0.01:1;

f=3*sin(100*pi*t)+2*sin(68*pi*t)+5*cos(72*pi*t) +randn(1,length(t));

coefs=cwt(f,[1:0.2:3],′db3′,′plot′);

title(′对不同的尺度小波变换系数值′);

Ylabel(′尺度′); Xlabel(′时间′);程序输出结果如图 1.11所示。

4 离散小波变换可以用 dwt、dwt2函数实现。(属于单层分解)

[ca,cd]=dwt(x,’mexh’);x为原始数据。Ca为能描述接近原波的小波系数,cd

为详细信息,通常前者对应于低频,后者对应于高频部分。

例子 1 生成一组被信号污染的数据,试对其进行离散小波分解,并对结果进行离散小波

变换,反演出原函数,在观察反演结果。

x=0:0.002:2*pi;y=sin(x.^2);r=0.1*randn(size(x));

y1=1=y+r;subplot(211);plot(x,y1);

[ca,cd]=dwt(y1,’db4’);

subplot(223),plot(ca0);subplot(224),plot(cd);

y2=idwt(ca,cd,’db4’);norm(y1-y2),检验反变换对信号的还原程度。

经过和原信号比较,基本上还原了原始信号,如果需要较好的降噪,则需要进行多次小

波分析

(高亮注释 Administrator

2010-5-30 20:19:35

空白)

5 小波分解和信号重构

4.1 wavedec()小波信号分解函数,可以进行多层分解。

[c,l]=wavedec(x,n,fun),x为原始信号,n分解的层数,fun所选的小波基函数,可选用haar,’db1’,’db2’,’bior1.3’,’bior2.4’,’bior2.6’,’coif4’等。

[C,L] = WAVEDEC(X,N,Lo_D,Hi_D),

Lo_D is the decomposition low-pass filter and

Hi_D is the decomposition high-pass filter.

4.2 提取小波系数(这一步不是必须得)。

由分解后的c,l提取近似系数 CA和细节系数 CD可以分别由 appcoef()和 detcoef()函数实现.其调用格式 CAn=appcoef(c,l,fun,n);cDi=detcoef(c,l,i),提取第 i段细节系数。其中近似系数 CA有可能为没有被污染的信号。

4.3信号重建 wrcoef

由得出的近似系数和细节系数重建原信号则可以略去部分噪声信息,信号重建函数可以

使用

a(n)/d(n)=wrcoef(类型,c,l,fun,n),其中类型可以选取’a’,’d’,选择近似系数

可以实现信号降噪。a表示近似系数,d表示详细信息。

例子1 对例子1实现3次小波分解

[c,l]=wavedec(y1,3,’db6’); 用 db6方法

a3=wrcoef(‘a’,c,l,’db6’,3);plot(a3);figure;3为

[c,l]=wavedec(y1,3,’db2);a3=wrcoef(‘a’,c,l,’db2’,3);plot(a3) ;用 db2方

4,4 upcoef 直接从一维小波系数重建。

Y = upcoef(O,X,'wname',N)

Y = upcoef(O,X,'wname',N,L)

Y = upcoef(O,X,Lo_R,Hi_R,N)

其中 O取’a’,或者’d’.

5 wfilters小波滤波函数

第一种格式:[Lo_D,Hi_D,Lo_R,Hi_R] = wfilters('wname')

Lo_D, 分解的低通滤波器。Hi_D:分解的高通滤波器。Lo_R:重构的的低通滤波器。Hi_R:重构的高通滤波器

第二种格式:[F1,F2] = wfilters('wname','type')

Lo_D and Hi_D,(Decomposition filters) ,If 'type' = 'd'

Lo_R and Hi_R,(Reconstruction filters),If 'type' = 'r'

Lo_D and Lo_R,(Low-pass filters),If 'type' = 'l'

Hi_D and Hi_R,(High-pass filters),If 'type' = 'h'

6 快速小波变换 FWT

7 wden-自动一维小波的去噪函数。

[XD,CXD,LXD] = wden(X,TPTR,SORH,SCAL,N,'wname');

CXD和 CLD为滤波后 XD的小波分解后的结构。

TPTR为阀值选择规则

'rigrsure' uses the principle of Stein's Unbiased Risk.

'heursure' is an heuristic variant of the first option.

'sqtwolog' for universal threshold

'minimaxi' for minimax thresholding (see thselect for more information)

SORH ('s' or 'h') is for soft or hard thresholding

SCAL defines multiplicative threshold rescaling: 'one' for no rescaling,'sln' for rescaling using a single estimation of level noise based on first-level coefficients,'mln' for rescaling done using level-dependent estimation of level nois

例子 1

% Set signal to noise ratio and set rand seed.

snr = 3; init = 2055615866;

% a standard Gaussian white noise.

[xref,x] = wnoise(3,11,snr,init);

% De-noise noisy signal using soft heuristic SURE thresholding

% from the decomposition of x, at level 5 by sym8 wavelet.

lev = 5;

xd = wden(x,'heursure','s','one',lev,'sym8');

subplot(611), plot(xref), axis([1 2048 -10 10]);

title('Original signal');

subplot(612), plot(x), axis([1 2048 -10 10]);

8ddencmp,wdencmp去噪函数。

8.2 最理想的去噪方法阀值法。ddencmp,wdencmp函数。可以去除噪声,而不影响原信号

的尖峰,这是小波的优势。

[THR,SORH,KEEPAPP,CRIT] = ddencmp(IN1,IN2,X);产生的系数可以供wencmp函数使用。[THR,SORH,KEEPAPP,CRIT] = ddencmp(den,wv,X);小波

[THR,SORH,KEEPAPP,CRIT] = ddencmp(den,wp,X);小波包

IN1 is 'den' for de-noising or 'cmp' for compression.

IN2 is 'wv' for wavelet or 'wp' for wavelet packet.

THR是阀值, SORH是软阀值或者硬阀值, KEEPAPP 保持相似系数, and CRIT (used only for wavelet packets) is the entropy name

例子 1

load sinsin;init=2055615866; randn('seed',init); x = X + 18*randn(size(X)); [thr,sorh,keepapp] = ddencmp('den','wv',x);

d = wdencmp('gbl',x,'db3',2,thr,sorh,keepapp);或者

[XC,CXC,LXC,PERF0,PERFL2] = wdencmp('lvd',C,L,'wname',N,THR,SORH)

例子 1 MATLAB的小波消噪程序(一)

t=0:1000; s=sin(0.03*t); subplot(3,1,1); 取信号。

plot(s); axis([0 1000 -1 1]); title('原始信号');

load noissin; ns=noissin; subplot(3,1,2); plot(ns); title('染噪信号');

%给该信号加噪声

xd=wden(ns,'minimaxi','s','one',5,'db3'); subplot(3,1,3); plot(xd);

title('消噪信号'); %进行消噪处理

MATLAB的小波消噪程序(二)

%装载采集的信号 leleccum.mat

load leleccum;

%=============================

%将信号中第 2000到第 3450个采样点赋给 s

indx=2000:3450;

s=leleccum(indx);

%=============================

%画出原始信号

subplot(2,2,1);

plot(s);

title('原始信号');

%=============================

%用 db1小波对原始信号进行 3层分解并提取系数

[c,l]=wavedec(s,3,'db1');

a3=appcoef(c,l,'db1',3);

d3=detcoef(c,l,3);

d2=detcoef(c,l,2);

d1=detcoef(c,l,1);

MATLAB实验报告

MATLAB程序设计语言 实 验 报 告 专业及班级:电子信息工程 姓名:王伟 学号:1107050322 日期 2013年6月20日

实验一 MATLAB 的基本使用 【一】 实验目的 1.了解MATALB 程序设计语言的基本特点,熟悉MATLAB 软件的运行环境; 2.掌握变量、函数等有关概念,掌握M 文件的创建、保存、打开的方法,初步具备将一般数学问题转化为对应计算机模型处理的能力; 3.掌握二维图形绘制的方法,并能用这些方法实现计算结果的可视化。 【二】 MATLAB 的基础知识 通过本课程的学习,应基本掌握以下的基础知识: 一. MATLAB 简介 二. MATLAB 的启动和退出 三. MATLAB 使用界面简介 四. 帮助信息的获取 五. MATLAB 的数值计算功能 六. 程序流程控制 七. M 文件 八. 函数文件 九. MATLAB 的可视化 【三】上机练习 1. 仔细预习第二部分内容,关于MATLAB 的基础知识。 2. 熟悉MATLAB 环境,将第二部分所有的例子在计算机上练习一遍 3. 已知矩阵???? ??????=??????????=123456789,987654321B A 。求A*B ,A .* B ,比较二者结果是否相同。并利用MATLAB 的内部函数求矩阵A 的大小、元素和、长度以 及最大值。 程序代码: >> A=[1 2 3;4 5 6;7 8 9]; >> B=[9 8 7;6 5 4;3 2 1]; >> A*B ans =

30 24 18 84 69 54 138 114 90 >> A.*B ans = 9 16 21 24 25 24 21 16 9 两者结果不同 >> [m,n]=size(A) m = 3 n = 3 >> b=sum(A) b = 12 15 18 >> a=length(A) a = 3 >>max(A) ans =

学习Matlab 心得体会

Matlab 心得体会 本学期通过对MATLAB的系统环境,数据的各种运算,矩阵的分析和处理,程序设计,绘图,数值计算及符号运算的学习,初步掌握了MATLAB的实用方法。通过理论课的讲解与实验课的操作,使我在短时间内学会使用MATLAB,同时,通过上机实验,对理论知识的复习巩固实践,可以自己根据例题编写设计简单的程序来实现不同的功能,绘制出比较满意的二维三维图形,在实践中找到乐趣。 MATLAB是一个实用性很强,操作相对容易,比较完善的工具软件,使用起来比较方便,通过操作可以很快看到结果,能够清晰的感觉到成功与失败,虽然课程中也会出现一些小问题,但是很喜欢这门课程。在为学习这门课前就听说了他的强大,因为现在的很多模型都是需要这些分析软件的。曾经旁听过学校数学建模的课程,当时老师用的是lingo。对那个只需要U盘携带就可以安装的小东西记忆深刻。等到学习matlab时觉得这才是真正的王道啊。 它不仅有强大的运算功能,还有强大的绘图功能,虽然学习了有一个学习,但是我对他的了解额仅仅是一点点,或许连入门都谈不上。因为我学习时了解到一个现实。就是matlab 的学习依赖有比较好的数学功底,其中我看最经常运用到的就是矩阵。我从网上了解到matlab是一门高等数学和计算机技术结合的东西,学习它必须具有相应的数学和计算机知识。然而很可惜,我的书写不是很好。每次讲到这个部分的时候就觉得听说理解无能了。特别是我今年还是大三。虽然这学期的学习的时间短暂,就算时间足够,老师也不能把所有的都讲解给我们,因为一个软件的功能需要我们自己不断的去摸索,老师也不可能知道所有。老师只是个指路人,最终的学习还是要靠自己。而且在摸索的过程中,我们能够发现和体会学习的快乐。痛并快乐着是种常态了吧。 自我感觉学习matlab与其说是学习一门软件,更不如说是学习一门语言。用一种数理的语言描述现象,揭示表象下的规律。此外,我认为matlab中的作图功能很强大,不仅简单的函数现象可以明确画出,而且一些点状物,甚至立体图也可以画出。大一上微积分的时候,老师曾经多次在课件中加入用matlab画出的图来。不论是一维二维三维等等,都能很好的画出来。只要能编写出函数式,在短短的几秒之内,他就会呈现在你眼前。另外就是图形的直观性,这是由阴影的制作的。而且可以根据需要,坐标图上加标题,坐标轴标记,文本注释级栅格等,也可以指定图线形式,比如是虚线。颜色也可以自己来定。可以在同一张图上画,也可以单个显示。 在学习的过程中,因为以前学过access中的select语言,觉得就编写这方面是有共性的,但是matlab的编程语言似乎更多更复杂一点,这是由于涉及的数学模型,数学公式更多的原因。可是今年的这门课真的是让我感到没学到什么,估计也是因为我抱着看一看的随意态度来的吧,也没有那种遇到不懂的就一定要弄懂它的决心和毅力。说什么都是借口了,无法掩饰我没有学好它的事实。事实上,我觉得今年这门课的重点并不是让我们掌握这种软件的具体用法,而是主要向我们展示如何用它去解决一些金融问题,数学问题。这点让我很郁闷,因为我不懂得原理,听起来这门课倍感吃力啊。可是嘛,年轻没有什么不可以,又有谁可以断言我接下来的生活中不能好好学习这个东西为自己的工作,学习,生活,研究兴趣带来方便呢。 从大学开学的见闻到现在学习MATLAB,感觉这是一个很好的软件,语言简便,实用性强。作为一个做新手,想要学习好这门语言,可以说还是比较难的。在我接触这门语言的这些天,除了会画几个简单的图形,其他的还是有待提高。从另一个方面也对我们大学生提出了两个要求——充实的课外基础和良好的英语基础。在现代,几乎所有好的软件都是来自国外,假如不会外语,想学好是非常难的。

大学课程总结

大学课程学习总结

前言 在经过两年学习之后,即将面临毕业实习。每看一眼亲切的校园,看一眼敬爱的老师,就会想起很多很多:想起一起的嘻笑玩耍,想起老师的悉心教导…… 回顾大学生活,在感叹学到做人的道理的同时,也在自豪学到了许许多多的知识。大学,不愧是人生的乐园,不禁想起“没上过大学的人生是不完美的”这句话。 现我将大学所学知识总结如下:

目录 一、C语言 ...........................................................................................................................- 1 - 学习过程...............................................................................................................................- 1 - 学习心得...............................................................................................................................- 2 - 二、LINUX操作系统............................................................................................................- 4 - 学习过程...............................................................................................................................- 4 - 学习心得...............................................................................................................................- 4 - 三、高等数学.......................................................................................................................- 6 - 学习过程...............................................................................................................................- 6 - 学习心得...............................................................................................................................- 9 - 四、计算机组装与维护.................................................................................................... - 10 - 学习过程............................................................................................................................ - 10 - 学习心得............................................................................................................................ - 16 - 五、马克思主义基本原理概论.........................................................................................- 17 - 学习过程.............................................................................................................................- 17 - 学习心得............................................................................................................................ - 19 - 六、数据库........................................................................................................................ - 22 - 学习过程............................................................................................................................ - 22 - 学习心得............................................................................................................................. - 27 - 七、Flash动画设计 .......................................................................................................... - 29 - 学习过程............................................................................................................................ - 29 - 学习心得............................................................................................................................ - 30 - 八、Photoshop图像处理 ................................................................................................. - 32 - 学习过程............................................................................................................................ - 32 - 学习心得............................................................................................................................ - 36 -

MATLAB实验报告实验二

实验二 MATLAB矩阵及其运算 学号:3121003104 姓名:刘艳琳专业:电子信息工程1班日期:2014.9.20 一实验目的 1、掌握Matlab数据对象的特点以及数据的运算规则。 2、掌握Matlab中建立矩阵的方法以及矩阵处理的方法。 3、掌握Matlab分析的方法。 二实验环境 PC_Windows 7旗舰版、MATLAB 7.10 三实验内容 4、1. (1)新建一个.m文件,验证书本第15页例2-1; (2)用命令方式查看和保存代码中的所有变量;

(3)用命令方式删除所有变量; (4)用命令方式载入变量z。 2. 将x=[4/3 1.2345e-6]在以下格式符下输出:短格式、短格式e方式、长格式、长格式e方式、银行格式、十六进制格式、+格式。 短格式 短格式e 长格式

长格式e方式 银行格式 十六进制格式 3.计算下列表达式的值 (1)w=sqrt(2)*(1+0.34245*10^(-6)) (2)x=(2*pi*a+(b+c)/(pi+a*b*c)-exp(2))/(tan(b+c)+a) a=3.5;b=5;c=-9.8; (3)y=2*pi*a^2*((1-pi/4)*b-(0.8333-pi/4)*a) a=3.32;b=-7.9; (4)z=0.5*exp(2*t)*log(t+sqrt(1+t*t)) t=[2,1-3i;5,-0.65];

4. 已知A=[1 2 3 4 5 ;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20],对其进行如下操作:(1)输出A在[ 7, 10]范围内的全部元素; (2)取出A的第2,4行和第1,3,5列; (3)对矩阵A变换成向量B,B=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20]; (4)删除A的第2,3,4行元素; (1) (2)

管理学总结-邢以群著-浙江大学出版社

第一章管理与管理学 1.管理的定义: 德鲁克:管理就是谋取剩余。强调管理作用 西蒙:管理就是决策。强调决策作用 穆尼:管理就是领导。强调管理者个人作用 孔茨:管理就是通过别人来使事情做成的一种职能。强调管理工作内容 管理是由计划、组织、领导、控制所组成的过程; 管理者组织他人工作的一项活动; 管理是用数学方法来表示计划、组织、领导、控制决策等合乎逻辑的程序,并求出最优答案的一项工作。 2.管理的形式与内容: 各个组织中专门从事管理工作的管理者的工作表现形式是多种多样的。 无论在哪种组织哪一层面上从事何种工作,管理工作的基本内容或核心是相同的,那就是协调。 所为协调,就是将表面上看起来相互矛盾的事物有机结合,同步和谐。 管理者进行决策、计划、分配、监督、检查等工作,实际上是在对目标、资源、任务、行为、活动等进行协调。管理工作表现形式的多样化,是由管理工作协调对象的多样性所导致的。目标(抉择),资源(计划),任务(分工),思想(沟通),行为(沟通和奖惩),活动

(计划、检查、监督)。 结论1:由于管理对象的多样性,管理环境的多变性和管理过程的复杂性,管理工作的表现形式呈现出了多样化的特征。尽管表现形式多种多样,管理工作的基本内容或核心是相同的,那就是协调。 3.管理产生的原因 共同劳动并不是管理产生的根本原因。管理产生的根本原因在于人的欲望的无限性和人所拥有的资源(时间、资金、精力、信息、技术)的有限性之间的矛盾。 为协调这一矛盾,产生了协调的六种方法: 生产:通过科研和劳动向大自然要资源; 组织:通过与他人分工协作; 战争:通过掠夺; 贸易:通过自己剩余的资源交换稀缺的资源; 道德:通过教育来约束改变人的欲望;(费时费力) 管理:通过科学的方法提高资源的利用率。(只能缓解不能最终解决) 结论2:人的欲望的无限性和人所拥有的资源的有限性之间的矛盾是管理产生的根本原因。管理的功能在于通过科学的方法提高资源的利用率,力求以有限的资源实现更多更高的目标。 4.管理的实质 管理从本质上而言是人们为了实现一定的目标而采用的一种手段。人类活动的显著特征之一就是目的性:致力于实现自己的追求。管理

(完整版)matlab课程学习总结

目录 VC++ & Matlab 混合编程的快速实现 (2) 摘要 (2) 关键词 (2) 简介: (2) 实例分析 (3) 1、编写Matlab函数 (3) 2、Matlab6.5编译器设置 (3) 3、建立C++控制台工程 (5) 4、启用Matlab Add-in 工具条 (6) 5、VC++6.0环境及工程设置 (7) 6、Matlab到C++的代码转换 (10) 7、C++函数的使用 (11) 特别说明一: (12) 特别说明二: (13) 8、程序的发布 (13) 总结 (13)

VC++ & Matlab 混合编程的快速实现摘要: 许多工程软件需要用到复杂的数学算法。VC++能够形成各种用户界面,并可以直接与系统及底层硬件交换数据。因此研究VC++和Matlab的混合编程具有很大的实际意义。 该文讨论了如何使用Matlab 的Complier 将*.m函数编译为动态链接库DLL,提供VC++ 调用的方法,提供了一种VC++与Matlab 混合编程的快速实现。 关键词:Matlab VC++ MCC Complier 动态链接库DLL 简介: Matlab 作为当今世界上应用最为广泛的数学软件,具有非常强大的数值计算、数据分析处理、系统分析、图形显示甚至符号运算的功能。已经在如生物工程,图像处理,语音处理,雷达探空,声纳探水,地震探地,以及控制论,系统论等各个领域得到广泛的应用。它是一个完整的数学平台,在这个平台上,用户只需寥寥数语就可以完成十分复杂的功能,大大提高了工程分析计算、图像处理的效率。但是Matlab 强大的功能只能在它所提供的平台上才能使用,即用户必须在安装Matlab 系统的机器上才能执行*.m文件。这样当用户需要将在Matlab下已开发完毕的复杂算法应用到高级语言开发环境下时就带了问题,是将现成的东西集成高级语言开发的程序中呢?还是用高级语

MATLAB与数值分析课程总结

MATLAB与数值分析课程总结 姓名:董建伟 学号:2015020904027 一:MATLAB部分 1.处理矩阵-容易 矩阵的创建 (1)直接创建注意 a中括号里可以用空格或者逗号将矩阵元素分开 b矩阵元素可以是任何MATLAB表达式,如实数复数等 c可以调用赋值过的任何变量,变量名不要重复,否则会被覆盖 (2)用MATLAB函数创建矩阵如:a空阵[] b rand/randn——随机矩阵 c eye——单位矩阵 d zeros ——0矩阵 e ones——1矩阵 f magic——产生n阶幻方矩阵等 向量的生成 (1)用冒号生成向量 (2)使用linspace和logspace分别生成线性等分向量和对 数等分向量 矩阵的标识和引用 (1)向量标识 (2)“0 1”逻辑向量或矩阵标识 (3)全下标,单下标,逻辑矩阵方式引用 字符串数组 (1)字符串按行向量进行储存 (2)所有字符串用单引号括起来 (3)直接进行创建 矩阵运算 (1)注意与数组点乘,除与直接乘除的区别,数组为乘方对应元素的幂

(2)左右除时斜杠底部靠近谁谁是分母 (3)其他运算如,inv矩阵求逆,det行列式的值, eig特征值,diag 对角矩阵 2.绘图-轻松 plot-绘制二维曲线 (1)plot(x)绘制以x为纵坐标的二维曲线 plot(x,y) 绘制以x为横坐标,y为纵坐标的二维曲线 x,y为向量或矩阵 (2)plot(x1,y1,x2,y2,。。。。。。)绘制多条曲线,不同字母代替不同颜色:b蓝色,y黄色,r红色,g绿色 (3)hold on后面的pl ot图像叠加在一起 hold off解除hold on命令,plot将先冲去窗口已有图形(4)在hold后面加上figure,可以绘制多幅图形 (5)subplot在同一窗口画多个子图 三维图形的绘制 (1)plot3(x,y,z,’s’) s是指定线型,色彩,数据点形的字 符串 (2)[X,Y]=meshgrid(x,y)生成平面网格点 (3)mesh(x,y,z,c)生成三维网格点,c为颜色矩阵 (4)三维表面处理mesh命令对网格着色,surf对网格片着色 (5)contour绘制二维等高线 (6)axis([x1,xu,y1,yu])定义x,y的显示范围 3.编程-简洁 (1)变量命名时可以由字母,数字,下划线,但是不得包含空格和标点 (2)最常用的数据类型只有双精度型和字符型,其他数据类型只在特殊条件下使用 (3)为得到高效代码,尽量提高代码的向量化程度,避免使用循环结构

心得体会 浅谈大学管理学课程

浅谈大学管理学课程 人们把研究管理活动规律所形成的管理基本理论与方法,统称为管理学,管理可以不像一门课程那样显得高深神秘,凡人不可及。事实上,我们每一个人都是管理的实践者。今天整理了大学管理学课程,希望对你有帮助。 大学管理学课程篇一 管理是人类各种活动中最普通和最重要的一种活动。近百年来,人们把研究管理活动规律所形成的管理基本理论与方法,统称为管理学。自从人们开始组成群体来实现个人无法完成的目标以来,管理工作就成为协调个体努力必不可少的因素了。由于人类社会越来越依赖集体的努力以及越来越多的、有组织的群体规模的扩大,管理人员的任务也就愈发重要了。因此,管理者必须具有敬业精神和服务意识,还要有解决突发性事件的能力,最重要的是要靠得住,会办事,能共事,不出事等各方面的素质。 通过这半年来对这门课程的学习,多少有了一些自己的心得体会。管理就是特定的环境下,对组织所拥有的的资源进行有效的计划、组织、领导和控制,以便达到即定的组织目标的过程。作为当代大学生,我认为管理学同样与我们息息相关,管理是一切组织的根本,管理工作适用于各种大小规模的组织;盈利与非盈利的企事业单位、制造业以及服务性行业;因此,学好管理学对于我们现在的学生会工作乃至今后步入纷繁的社会,适应不同的工作岗位都有其非常重要的意义。

管理学分为七章,主要由计划、组织、领导、控制四大部分组成,这四大部分既相互区别,又相互渗透。它们每一篇都有特定的目标主旨。而计划作为管理学理论的基础,让我有了许多很深的体会。 管理学潜藏于人类生活的各个角落,在日常的学习和生活中,我们经常看到或听到计划这个词。大到美国政府的火星探测计划,小到我们身边的一次周末旅游计划。由此可见,计划几乎无处不在。首先就一个学生而言,他在学习中为了提高学习成绩,必须通过制定一份计划(或长期或短期)。然后通过这份计划控制自己,并且有效的分配自己的时间,还要有效的选择合适的信息,从而达到自己的计划目标,取得成功。又或者一个人的一生必须经过自己的规划、组织;要不然这一辈子将碌碌无为。计划是任何一个组织成功的核心,它存在于组织各个层次的管理活动中。一个组织适应未来技术或竞争方面变化能力的大小与它的计划息息相关。 在为群体中一起工作的人们设计环境,使每个人有效地完成任务时,管理人员最主要的任务,就是努力使每个人理解群体的使命和目标以及实现目标的方法。如果要使群体的努力有成效,其成员一定要明白期望他们完成的是什么,这就是计划工作的职能,而这项职能在所有管理职能中是最基本的。然而许多管理者总是强调日常的经营活动而忽略做计划,这是造成他们日后到处救火的主要原因。现在有很多人认为计划赶不上变化,做了计划也只是在做无用工而已,所以他们都不愿意做计划。其实不然,我认为计划是为了有备无患。做了总比没做好。计划包括确定使命和目标以及完成使命和目标的行动;这需要指

MATLAB全实验报告

《数学实验》报告 实验名称 Matlab 基础知识 学院 专业班级 姓名 学号 2014年 6月

一、【实验目的】 1.认识熟悉Matlab这一软件,并在此基础上学会基本操作。 2.掌握Matlab基本操作和常用命令。 3.了解Matlab常用函数,运算符和表达式。 4.掌握Matlab工作方式和M文件的相关知识。 5.学会Matlab中矩阵和数组的运算。 二、【实验任务】 P16 第4题 编写函数文件,计算 1! n k k = ∑,并求出当k=20时表达式的值。P27第2题 矩阵A= 123 456 789 ?? ?? ?? ?? ?? ,B= 468 556 322 ?? ?? ?? ?? ?? ,计算A*B,A.*B,并比较两者的区别。 P27第3题 已知矩阵A= 52 91 ?? ?? ?? ,B= 12 92 ?? ?? ?? ,做简单的关系运算A>B,A==B,AB)。 P34 第1题 用 111 1 4357 π =-+-+……公式求π的近似值,直到某一项的绝对值小于-6 10为止。 三、【实验程序】 P16 第4题 function sum=jiecheng(n) sum=0; y=1; for k=1:n for i=1:k y=y*i; end sum=sum+y; end sum P27第2题 >>A=[1 2 3;4 5 6;7 8 9] >>B=[4 6 8;5 5 6;3 2 2] >>A*B

P27第3题 >> A=[5 2;9 1];B=[1 2;9 2]; >>A>B >>A==B >>A> (A==B)&(A> (A==B)&(A>B) P34 第1题 t=1; pi=0; n=1; s=1; while abs(t)>=1e-6 pi=pi+t; n=n+2; s=-s; t=s/n; end pi=4*pi; 四、【实验结果】 P16 第4题 P27第2题

MATLAB实训小结

实训小结 为期一周的MATLAB实训在学习与忙碌中度过了,时间虽短,但我们却真真切切的学到了知识,在现实工作中可以运用的知识。 在第一节课,我们便了解到MATLAB是世界上最流行的、应用最广泛的工程计算和仿真软件,它将计算、可视化和编程等功能同时集于一个易于开发的环境。MATLAB主要应用于数学计算、系统建模与仿真、数学分析与可视化、科学与工程绘图和用户界面设计等。对MATLAB的系统结构和特点等,老师也向我们做出了大致的讲解,同时,我们知道了MATLAB程序的一些最基本的应用和运算,并能够进行一些简单的编程。就这样,实训的第一天大家都在期待和兴奋中度过。 接下来的时间,主要是以大家自学和练习为主,老师进行辅导和考察。在学习过程中,不懂的可以相互之间小声的讨论,也可向老师请教,但必须确保自己真正学到了知识,认真的看书并进行编程练习。一天的学习接近尾声时,就是老师考察大家一天的收获的时候了,老师总会出一些小题目让大家编出它的程序,虽然有的题目对我们来说还是有些难度的,但是在老师的指点下我们还是编出程序的,当我们看到自己编的程序运行正确时,总是会万分的兴奋,充满成就感。 就这样,仅仅一个星期的实训就结束了,虽然不能十分熟悉和运用MATLAB的所有程序,但是我们却打下了一定的基础,

在以后,当我们真正开始深入学习这门学问时,我们对它将不会再那么陌生,学起来也将轻松许多。这次实训为我们提供了一个很好的学习机会,唯一不足的就是时间有点短,我们不能在这段时间里学到更多的知识,因此,在这一周打下的基础上,我们需要用自己的努力去自学,以获取更多的知识。 知识是无穷无尽的,知识的获取需要一颗上进的心,老师将我们领进了门,下面的路就应该我们自己去走,即是充满荆棘,也要努力奋斗往前冲。

MATLAB学习报告

MATLAB学习报告 在上大学之前,计算机在我的印象和生活中都是一种用于娱乐的机器, 玩游戏、上网、看电影、听音乐和偶尔搜索资料。来到大学以后,我对计算机 的用途有了新的认识。大一的一年里我们接触了很多不同类型的软件有作图的,有做视频的等等。我们还学习了c语言,虽然只是学习的一些皮毛,但是我觉 得这一点皮毛足以改变我对计算机的使用和看法了。 首先我们来介绍一下MATLAB,全称是MATrix LABoratory,即矩阵实验室,是Math work公司推出的一套高效率的数值计算和可视化软件。它是当今 科学界最具影响力、也是最具活力的软件,它起源于矩阵运算,并高速发展成 计算机语言。它的优点是强大的科学运算、灵活的程序设计流程、高质量的图 形可视化与界面、便捷的与其他程序和语言接口。Matlab软件的功能。它提供 了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、 便捷的与其他程序和语言接口的功能。在国际学术界,Matlab已经被确认为准确、可靠的科学计算标准软件。在国际一流的学术刊物上,尤其是信息科学刊 物上,都可以看到Matlab的应用。 一种语言之所以能如此迅速地普及,显示出如此旺盛的生命力,是由于 它有着不同于其他语言的特点。正如同FORTRAN和C等高级语言使人们摆脱了 需要直接对计算机硬件资源进行操作一样,被称作为第四代计算机语言的MATLAB,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。MATLAB的最突出的特点就是简洁。MATLAB用更直观的、符合人们思维习惯的代码,代替了C和FORTRAN语言的冗长代码。MATLAB给用户带来的是最直观、最 简洁的程序开发环境。以下简单介绍一下MATLAB的主要特点: 1、Matlab一个高级的距阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执 行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特 征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的 书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。 2、Matlab的数据库的可覆盖性,可调用性。我记得C语言中,假如你得 调用一个数值,必须是局部函数中赋值,否则就定义为全局变量。还有在C语 言中数据的变量储存是一个问题,自动的有auto,静态变量有static和register。我们有时候很难记忆,所以数据储存容易出现问题。而Matlab软件的数据是由于MATLAB 语言库函数与用户文件的形式相同所以用户文件可以像 数据库函数一样随意调用。所以用户可根据自己的需要任意扩充函数库。 3、Matlab软件编程的简便性,清晰性。用Matlab软件设计程序,它更 加方便快捷。MATLAB 的基本数据单元是既不需要指定维数、也不需要说明数据类型的矩阵,而且数学表达式和运算规则与通常的习惯相同。因此,在MATLAB 环境下,数组的操作与数的操作一样简单。对比C语言,Matlab确实简单不少。我们在编写程序时简便了许多。例如,求1 1 2 3 5 8 13?这个算法。C语言得用许多的语句去循环算这个算法。而Matlab软件可以首先数据初始化,然后用while去循环,做出循环体,就可以你要多少数据,它会给你多少数据。还有

大学生学习管理学的心得体会

大学生学习管理学的心得体会 在人类历史上自从有了组织的活动就有了管理活动。管理活动的出现促使人们对来自这种活动家的经验加以总结形成了一些朴素、零散的管理思想。我们可以从已有的文字记载中寻觅到中外思想家提出的丰富的管理思想。直到期19世纪末随着欧洲工业革命的发展管理理论才有真正出现。管理理论是对管理思想的提炼与概括是较成熟、系统化程度较高的管理思想。管理是指组织为了达到个人无法实现的目标通过各项职能活动合理分配、协调相关资源的过程。 在人类社会五千年发展的历史长河中人类都在不断的完善自己不断的活动而人类的一切活动都是经过大脑思考是为了达到预期的目的而进行的。并为了实现其目的而不断努力人类从数次的生产力革新、发展历经了数次工业革命依次走过了原始社会、奴隶社会、封建社会、资本主义社会和社会主义社会。所以可以说人类是经过不断的劳动、思考、合作不断发展生产力中逐步发展的;人类的生存在各种环境因素的影响下人类自身必须与周边的环境相互依存随着生产力的不断发展人类就不断的试图改变周边的环境在不断的失败或成功的同时不断总结经验丰富自己的知识掌握各种生活和改造社会的技能。随着人类知识的不断完善各种生活工作的组织机构方式制度不断发展形成一定形态的管理机构逐步发展为管理系统并使用于当今信息瞬息万变的时代。虽然管理

的制度不断改革推进但是再完善的系统也离不开人类的相互协作无论是若干千年前的原始社会或信息瞬息万变的今天人类的各种特征为管理学形成提供了客观的条件。至此管理学应运而生。 首先管理是管理者或管理机构在一定范围内通过计划、组织、控制、领导等工作对组织所拥有的资源(人、物、财、时间、信息等)进行合理的配置后有效的利用以实现组织预定的目标的工程。管理学潜藏于人类生活的各个角落首先就一个人而言他在学习中为了提高学习成绩必须通过制定一份计划(或长期或短期)然后通过这份计划控制自己并且有效的分配自己的时间、精力还要有效的选择合适的信息从而达到自己的计划取得成功;又或者一个人的一生必须经过仔细的规划、组织要不然这一辈子将碌碌无为;大至一个国家一个社会一个民族小至一个企业一个家庭再者到每一个人都处在管理学的范围之内并受其影响。 所以说管理充溢着整个人类社会正如在管理学形成中提到管理活动所引出的一切问题推动着社会的发展和人类的进步这个推动力并将继续推动这个社会的发展正在并将长期影响着人类社会。 提到企业管理我们首先要讲什么是企业企业的法律形式企业的类型等等。 企业是以市场为主导以盈利为目的从事生产流通服务等经济活动自主经营自盈盈亏独立核算具备法人资格的经济组织。具体可分为国有、集体、私营、股份制和外资企业等等。

matlab学习心得体会(精选3篇)

matlab学习心得体会(精选3篇) matlab学习心得体会一:matlab学习心得matlab中有丰富的图形处理能力,提供了绘制各种图形、图像数据的函数。他提供了一组绘制二维和三维曲线的函数,他们还可以对图形进行旋转、缩放等操作。matlab内部还包含丰富的数学函数和数据类型,使用方便且功能非常强大。 本学期通过对matlab的系统环境,数据的各种运算,矩阵的分析和处理,程序设计,绘图,数值计算及符号运算的学习,初步掌握了matlab的实用方法。通过理论课的讲解与实验课的操作,使我在短时间内学会使用matlab,同时,通过上机实验,对理论知识的复习巩固实践,可以自己根据例题编写设计简单的程序来实现不同的功能,绘制出比较满意的二维三维图形,在实践中找到乐趣。 matlab是一个实用性很强,操作相对容易,比较完善的工具软件,使用起来比较方便,通过操作可以很快看到结果,能够清晰的感觉到成功与失败,虽然课程中也会出现一些小问题,但是很喜欢这门课程。 matlab学习心得体会二:matlab学习心得(463字) 学习matlab是听说它是一个功能强大的数学软件,但是正被微积分的计算缠身,听说有一个高级的计算器当然高兴,以后可以偷懒了,当然现在不能偷懒。听说关于自动化的计算特别复杂,如果有一种软件能帮忙解题,那是一种极大的解脱,有益于缩短研究时间。目前我只知道有三种数学软件,都是国外的,没有国内的,差距挺大的。matlab学起来挺顺手的,比c语言简单。但是深入学习的时候却困难重重,因为很多知识都没有学习,就算知道那些函数,也没有什么用处。老师布置的作业难度大,写一篇实验,大一什么都不会,写一篇这种论文谈何容易。最多也就会一些数值计算、符号计算、简单绘图,根本不会什么实验。 学习matlab体会最多的是这个软件的功能强大,好多数学题都被轻易的解出。但是有一点遗憾,不知是我不会用,还是它没个功能,已知空间的电荷分布,求空间的电场分布。其中电场分布是无法用函数表达式表示。我知道计算机肯定可以实现,但是这个软件能不能实现就不知道了,我看过许多资料,但是在这方面没有提到相关信息。 总之,这个软件功能强大,不知什么时候国内才有类似的软件。 matlab学习心得体会三:学习matlab的心得(817字) 这是我在学习的过程中的一些技巧,或许对你有帮助,可能字数不你能满足你的要求,但是绝对是精华。

MATLAB心得体会

M A T L A B心得体会 标准化文件发布号:(9312-EUATWW-MWUB-WUNN-INNUL-DQQTY-

MATLAB心得体会 这学期开了MATLAB这门课程,这里面有太多的学问。只要书里面有最基本的语法和命令,对于一个有编程基础的人,MATLAB可以在一个下午的时间内学会。当然,仅仅是学会。如果想要对MATLAB比较得心应手,那么最好的办法就是练习。练习的素材很多,比如对于学经济学的,可以做一些simulation之类的,也可以试着把计量或者宏观教材里面的一些算法写写出来。一开始可能很慢,但是当你完成了一个比较大的project的时候,你的MATLAB的功力将会有巨大的提升。 用MATLAB的无非是做数值计算或者最优化,这也是MATLAB的强项,MATLAB有足够多的工具解决这些问题。但是在使用这些工具箱之前,应该首先了解一些数值计算以及最优化的理论。这一点在程序碰到问题或者计算结果不理想的时候尤为重要。很多时候结果不理想并不是自己的理论出了问题,而是盲目或者错误使用MATLAB的工具箱而导致的。比如我曾经做过一个单纯形法的优化程序,但是结果总是不理想,这个时候就要返回到单纯形法具体是一种什么样的来考虑这个问题,最后发现是由于目标的某一部分十分平缓导致的。 当然更重要的是如果你不理解理论,很多问题根本不知道如何处理。有个学化学同学就曾问我一个程序怎么写,说MATLAB肯定可以完成的。了解清楚之后才明白原来他想做的就是一个受限最小二乘。但是他不懂得什么是最小二乘,当然面对这个问题无从下手。 这个问题没有人强调,但我觉着蛮重要。这里的关键点其实很简单,就是尽量减少重复计算,哪怕是多项式复杂度以内的计算。重复计算的内容应该适时保存到内存中,以后直接调用。一个程序可能会重复运行几千次几万次,一点点的浪费时间都可能被放大很多。空间(内存)我们是可以扩充的,但是时间不是,所以绝大多数时候我们需要放弃空间,获得时间上的迅捷。 这里有个故事,曾经在某技术论坛上看到的,说腾讯公司早期做的QQ实在太过垃圾,他们追踪过QQ的行为,发现在几分钟时间里重复调用了某同一注册表项几百次。显然注册表的内容所占内存是有限的,甚至是可以忽略的,但是每次读注册表项可能都要读硬盘,这里的时间花费是很大的,为什么不把这项内容直接存储在内存里呢?

大学管理学笔记

大学管理学笔记 第一章:管理与管理学 第一节:管理的概念 第二节:管理的性质 第三节:管理学的特点和内容 一、管理的概念 (一)管理的定义: ?? ?? ? 西蒙(Herbert A Simon):管理就是决策。 ?? ?? ? 罗宾斯:是指同别人一起或通过别人使活动完成得更有效的过程。 ?? ?? ? 唐纳利:管理就是由一个或者更多的人来协调他人的活动,以便收到个人单独活动所不能收到的效果而进行的活动。 ?? ?? ? 卡斯特:管理就计划、组织、控制等活动的过程。 ?? ?? ? 国内管理学界比较认可的定义:管理是指一个组织中的管理者,通过实施计划、组织、人员配备、领导、控制等职能来协调他人活动,使别人和自己一起实现既定目标的活动过程。管理效率是管理极其重要的组成部分(二)管理的基本特征 ?? ?? ? 管理是一种社会现象或文化现象。 ?? ?? ? 管理的载体是组织。 组织是指具有既定目标和正式结构的社会实体。 组织的特点: 1.每个组织都有一个目标。 2.由人组成。 3.有系统性的结构。 二、管理的二重性与管理的科学性和艺术性 1.自然属性:与生产力、社会化大生产相联系的。 2.社会属性:指任何管理方法、技术和手段总是有其特定的时代背景的。

3.科学性:以反应管理客观规律为指导,有一套分析问题、解决问题的科学方法论。 4.艺术性:灵活运用管理理论、知识、技能的技巧和诀窍。 三、管理学的特点与学习管理学的重要性管理学的特点: 1、一般性,管理学是各门具体的和专门的管理学科的共同基础 2、多学科性或综合性。 3、历史性 4、实用性或实际性学习管理学的重要性:1).管理在现代社会的地位和作用决定了学习管理学的必要性和重要性。2).我国管理的落后不仅表现在管理理论及方法等落后,更主要的是管理思想的落后。直接经验和间接经验。3).随着共同劳动的规模日益扩大,劳动分工协作更加精细,社会化大生产日趋复杂。管理将处于更加重要的地位 第二章管理的演进 一、历史背景 1.早期的管理活动和管理思想:大多散见于埃及、中国、意大利等国的史籍和许多宗教文献之中。 2.管理理论的萌芽:劳动分工理论,工业革命及其在美国出现的管理运动。生产力的发展,企业规模的不断扩大,对正规化管理提出了强烈的要求。 二、多样化时期 1、科学管理: 其关注点:如何改进工人的生产率 泰罗所面临的状况:工人磨洋工,管理者凭感觉和经验管理,几乎不考虑人与岗位匹配的问题,劳资关系非常紧张。提出了四项管理原则: 1).研究工人工作方式,收集相关的工作知识,试验提高工作效率的方式 2).将完成工作的新方式编成书面规程和标准的操作步骤 3).仔细挑选工人,以他们具备与工作需要相匹配的能力和技术,按特长分配工作 4).提倡实行有差别记件工资制泰罗进行的著名的试验:a.搬运生铁块试验b.确定铁锹大小的试验c.金属切削试验d.泰罗的科学管理思想对美国制造业的影响

相关主题
文本预览