首页 > 编程学习 > matlab 好玩的程序,MATLAB中几个比较有用的程序

MATLAB中几个比较有用的程序

程序一%function 画x(n)=K*exp(a+b*j)*n j 虚指数

% Edit time 2012/3/13

%

Editor 何飞

a=input('Type in real exponent=');%输入实部

b=input('Type in imaginary exponent');%输入虚部

c=a+b*i;

K=input('Type in the gain constant');%系数K

N=input('Type in length of sequence');%画图的长度

n=1:N;

x=K*exp(c*n);

subplot(121);

stem(n,real(x));%画实部

xlabel('n'); ylabel('Re(x)');

disp('Press return for imagimary part');

pause

subplot(122);

stem(n,imag(x));%画虚部

xlabel('n');ylabel('imag(x)');

disp('Press return for magnitude part');

pause

subplot(223);

stem(n,abs(x));%画幅频特性曲线

xlabel('n');ylabel('magnitude');

disp('Press return for phase part');

pause

subplot('224');

stem(n,(180*pi)*angle(x));%相频特性曲线

xlabel('n');ylabel('phase');

程序二%function zplane(num,den)

画系统函数的零极点图像

%function [H,W]=freqz(num,den,'whole');画系统的幅频及相频图

%num系统的分子的系数向量 den系统的分母系数向量

% Edit time 2012/3/15

%

Editor 何飞

num=input('Type in numerator coefficients=');

den=input('Type in denominator coefficients=');

subplot(331);

zplane(num,den);

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

subplot(332);plot(W/pi,abs(H));

xlable('\omega/\pi');ylable('|H(e^j^\omega)|');

axis([0,2,0,2.5]);

subplot(333);plot(W/pi,angle(H));

xlable('\omega/\pi');ylable('\phi(\omega)')

axis([0 2 -2 2]);

程序三%function

求解线性时不变系统的响应

%stucture y=filter(b,a,x)

%b方程右边的系数(向量) a方程左边的系数() x系统激励 y系统输出

%求 y(n)+y(n-1)-0.65y(n-2)=0.9x(n)-0.68x(n-1)+0.53x(n-2)的单位抽样响应

和单位阶跃响应

% Edit time 2012/3/14

% Editor 何飞

N=31;

b=[0.9 0.68 -0.53];

a=[1 -1 0.65];

x1=[1 zeros(1,N-1)];

x2=[ones(1,N)];

y1=filter(b,a,x1);

y2=filter(b,a,x2);

n=0:N-1;

subplot(211);

stem(n,y1,'.r');

xlabel('n');ylabel('y1(n)');

subplot(212);

stem(n,y2,'.r');

xlabel('n');ylabel('y2(n)');

程序四% function

计算f函数从a到b积分

% a 积分下限

% b 积分上限

% h 跳变量

% f 函数关系

% Edit time 2010/3/13

% Editor 何飞

a=0;b=3*pi;

n=1000;h=(b-a)/n;

x=a:h:b;

f=exp(-0.5*x).*sin(x+pi/6);

for i=1:n

s(i)=(f(i)+f(i+1))*h/2;

end

s= sum(s);

程序五%function [num,den]=zp2tf(z,k,p)求解系统的模型

%num分母的系数向量 den分子的系数向量

%z系统零点 k系统的极点 p系统增益

�it time 2012/3/15

�itor 何飞

format long;

zr=input('Type in the zeros as a row vector=');

pr=input('Type in the poles as a row vector=');

z=zr';p=pr';

k=input('Type in the gain constant=');

[num,den]=zp2tf(z,p,k);

disp('numrator polynomaial coefficients');disp(num);

disp('denominator polynomaial coefficients');disp(den);

程序六%function

用[z,p,k]=tf2zp(num,den)求系统函数的零极点和增益

%num 分子的系数 den分母的系数

%z零点 p极点 k增益

�it time 2012/3/14

�itor 何飞

num=input('Type in the numerator coeffecients');

den=input('Type in the denominator coeffecients');

[z,p,k]=tf2zp(num,den);

disp('Zeros are at');disp(z);

disp('Poles are at');disp(p);

disp('Gain constant');disp(k);

Copyright © 2010-2022 ngui.cc 版权所有 |关于我们| 联系方式| 豫B2-20100000