?? xian.m
字號:
% xian(haxes1,haxes2,haxes3,haxes4) 繪制圖象
%function []=xian(haxes1,haxes2,haxes3,haxes4,x1,x2)
%x1=get(gcbo,'string');
%x1=str2num(x1);
%x2=get(gcbo,'string');
%x2=str2num(x2);
x1=input('x1=');
%x1=[0 1 2 3 5]
%x2=[1 2 3 5 6]
x2=input('x2=');
haxes1=axes('position',[0.10,0.05,0.63,0.18]);
haxes2=axes('position',[0.10,0.29,0.63,0.18]);
haxes3=axes('position',[0.10,0.53,0.63,0.18]);
haxes4=axes('position',[0.10,0.77,0.63,0.18]);
lx1=length(x1);
lx2=length(x2);
lmax=max(lx1,lx2);
if lx1>lx2 nx1=0; nx2=lx1-lx2;
elseif lx1<lx2 nx1=lx2-lx1; nx2=0;
else nx1=0; nx2=0;
end
%axes(haxes4);hold off
dt=1; % dt 運算時間間隔 ;
lt=lmax; % 取長者為補零長度基準
% 先將 x 補得與 h 同長,再兩邊補上同長度的零
x=[zeros(1,lt),x1,zeros(1,nx1),zeros(1,lt)]; %設置x為3倍卷積長度
t1=(-lt+1 : 2*lt)*dt; % total length of t1 is 3*lmax
% 將 h 補得與 u 同長,再前面補上 2*lt 長度的零
stem(t1,x,'.r');
%xmin=min(t1),xmax=max(t1),ymin=min(x),ymax=max(x);
axis([min(t1),max(t1),min(x),max(x)]), hold on;
%axis([xmin xmax 0 1]), hold on;
axes(haxes3);hold off
%h=[zeros(1,2*lt),x2,zeros(1,nx2)];
%hf=fliplr(h); % 將 h 的左右翻轉 , 記為 hf
%y=zeros(1,3*lt); % y 數組初始化
for k=0: 2*lt
axes(haxes3);hold off
h=[zeros(1,2*lt),x2,zeros(1,nx2)];
hf=fliplr(h); % 將 h 的左右翻轉 , 記為 hf
y=zeros(1,3*lt); % y 數組初始化
p=[zeros(1,k),hf(1: end-k)]; % 使 hf 向右循環移位 ,hf(1: end-k)=hf(1:3*lt-k)
%y1=x.*p*dt; % 使輸入和翻轉移位的脈沖過渡函數逐項相乘 , 再乘 dt
%yk=sum(y1); % 相加,等效于積分
%y(k+lt+1)=yk; % 將結果放入數組 y
if k==0
stem(t1,hf,'.r');
axis([-lt*dt, 2*lt*dt, min(p), max(p)]);
pause
end
stem(t1,p,'.r')
axis([-lt*dt, 2*lt*dt, min(p), max(p)])
axes(haxes2);hold off
p=[zeros(1,k),hf(1: end-k)]; % 使 hf 向右循環移位 ,hf(1: end-k)=hf(1:3*lt-k)
y1=x.*p*dt; % 使輸入和翻轉移位的脈沖過渡函數逐項相乘 , 再乘 dt
%yk=sum(y1); % 相加,等效于積分
%y(k+lt+1)=yk; % 將結果放入數組 y
stem(t1,y1,'.r')
%axis([-lt,2*lt,min(y1),max(y1)]),
axes(haxes1);
p=[zeros(1,k),hf(1: end-k)]; % 使 hf 向右循環移位 ,hf(1: end-k)=hf(1:3*lt-k)
y1=x.*p*dt; % 使輸入和翻轉移位的脈沖過渡函數逐項相乘 , 再乘 dt
yk=sum(y1); % 相加,等效于積分
stem(k*dt,yk,'.r')
%axis([-lt*dt,2*lt*dt,floor(min(y)+eps),ceil(max(y)+eps)]),
hold on
pause(1)
end
hold on
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -