matlab!誰有兩個無限長序列的離散卷積和程式給

時間 2021-08-14 14:08:11

1樓:思維書屋

clear;close all

n=24;m=8;

m=input('輸入移位值:m=');

if (m<1|m>n-m+1)

fprintf('輸入資料不在規定範圍內!');

return

endn=0:n-1;

x1=(0.8).^n;x2=[(n>=0)&(n

xn=x1.*x2;

xm=zeros(1,n);

for k=m+1:m+m

xm(k)=xn(k-m);

endxc=xn(mod(n,8)+1);

xcm=xn(mod(n-m,8)+1);

subplot(2,2,1);stem(n,xn,'.');

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

axis([0,length(n),0,1]);

subplot(2,2,2);stem(n,xm,'.');

xlabel('n');ylabel('x(n-m)');

axis([0,length(n),0,1]);

subplot(2,2,3);stem(n,xc,'.');

xlabel('n');ylabel('x(n)的週期延拓');

line([0,length(n)],[0,0]);

axis([0,length(n),0,1]);

subplot(2,2,4);stem(n,xcm,'.');

xlabel('n');ylabel('x3(n)的迴圈移位');

line([0,length(n)],[0,0]);

axis([0,length(n),0,1]);

2樓:匿名使用者

...matlab 有無限長序列嗎

除分可以 積分

%%%%%%%%%

那你怎麼 把無限 序列輸入 matlab?

3樓:木瓜

你現在會了嗎,我也遇到了,教教我 吧

如何利用matlab實現兩個有限長序列的卷積

4樓:少茜拱思

基本數學原理

我們假設有兩個長度有限的任意序列a(n)和b(n),其中a(n)和b(n)的具體數學表示式可以看下圖一。那麼這兩個有限長序列的卷積就應該為c(n)=a(n)*b(n),其具體表示式請參看一下圖二。

2相關函式指令

matlab中的conv和deconv指令不僅可以用於多項式的乘除運算,還可以用於兩個有限長序列的卷積和解積運算。

matlab提供的函式conv,語法格式:w=conv(u,v),其中u和v分別是有限長度序列向量,w是u和v的卷積結果序列向量。如果向量u和v的長度分別為n和m,則向量w的長度為n+m-1.

如果向量u和v是兩個多項式的係數,則w就是這兩個多項式乘積的係數。下面我們看一下deconv指令。功能:

求向量反褶積和進行多項式除法運算。語法格式:[q,r]=deconv(v,u)

,引數q和r分別返回多項式v除以多項式u的商多項式和餘多項式。具體例項請看下一步。

3conv和deconv指令例項

具體例項請看下圖,這裡我們求多項式(x2+2x+1)與多項式(2x2+x+3)的積,再求積與(x2+2x+1)的商。需要注意的是向量c代表多項式(2x4+5x3+7x2+7x+3)。

end兩個有限長序列的卷積例項

具體序列的數學形式

在這一步我們將具體的有限長時間序列按數學方式顯示,具體請看下圖。

解法一:迴圈求合法求卷積

在本例中我們將按照原理方法第一步中圖二的方式進行卷積計算,即迴圈求合法求卷積。具體的**及結果請看下圖。圖一是是生成有限長度時間序列,圖二是根據原理方法第一步中圖二的方式即迴圈求合法求卷積的具體**,圖三是是圖二的計算結果。

解法二:0起點序列法

下面就說一下第二種方法,即「0起點序列法」,所採用的指令就是我們在原理方法中介紹的conv函式指令。具體**看下圖。

解法三:非平凡區間序列法

下面就說一下第二種方法,即「0起點序列法」,所採用的指令就是我們在原理方法中介紹的conv函式指令。具體**看下圖。圖一為計算**,圖二為計算結果。

繪圖比較

這一步我們將解法二和解法三的計算結果繪製在一張**中進行比較,其中第一幅是「0起點法」的計算結果圖,第二幅是「非平凡區間法」的計算結果圖。其中畫圖**為:

subplot(2,1,1),stem(kc,c),text(20,6,'0

起點法')

%畫解法二的結果

cc=[zeros(1,kc(1)),c];

%補零是為了兩子圖一致

subplot(2,1,2),stem(kc,cc),text(18,6,'非平凡區間法')

%畫解法三的結果

xlabel('n')6小結

有以上可以得出如下結論:

1、「解法三」最簡潔、通用;

2、「解法二」使用於序列起點時刻n1或(和)m1小於0的情況,比較困難;

3、「解法一」最繁瑣,效率低下。

5樓:

基本數學原理

我們假設有兩個長度有限的任意序列a(n)和b(n),其中a(n)和b(n)的具體數學表示式可以看下圖一。那麼這兩個有限長序列的卷積就應該為c(n)=a(n)*b(n),其具體表示式請參看一下圖二。

2相關函式指令

matlab中的conv和deconv指令不僅可以用於多項式的乘除運算,還可以用於兩個有限長序列的卷積和解積運算。

matlab提供的函式conv,語法格式:w=conv(u,v),其中u和v分別是有限長度序列向量,w是u和v的卷積結果序列向量。如果向量u和v的長度分別為n和m,則向量w的長度為n+m-1.

如果向量u和v是兩個多項式的係數,則w就是這兩個多項式乘積的係數。下面我們看一下deconv指令。功能:

求向量反褶積和進行多項式除法運算。語法格式:[q,r]=deconv(v,u) ,引數q和r分別返回多項式v除以多項式u的商多項式和餘多項式。

具體例項請看下一步。

6樓:

兩個序列是x,y

卷積結果就是z=conv(x,y)

你試試吧!

誰有冰心《兩個家庭》的原文,誰有冰心《兩個家庭》,《笑》的原文?

裡面有。誰有冰心 兩個家庭 笑 的原文? 笑 雨聲漸漸的住了,窗簾後隱隱的透進清光來。推開窗戶一 看,呀!涼雲散了,樹葉上的殘滴,映著月兒,好似螢光千點,閃閃爍爍的動著。真沒想到苦雨孤燈之後,會有這麼一幅 清美的圖畫!憑窗站了一會兒,微微的覺得涼意侵人。轉過身來,忽然 眼花繚亂,屋子裡的別的東西,都...

matlab求兩個曲線的交線

x,y,z sphere 50 mesh 5 x,5 y,5 z 畫球面hold on ezmesh 0 x y 5 5 畫平面 x,y,z meshgrid linspace 5,5 contourslice x,y,z,x y z,5 x,5 y,5 z,0 0 畫交線 axis equal v...

如何用matlab求兩個函式的卷積

雙槍老椰子 function convolution t 4 0.001 4 e rectpuls t 0.25,1.5 plot t,e pause h tripuls t 1,2,1 plot t,h pause s 8 0.001 8 f conv e,h plot s,f 卷積後訊號就變長了...