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

時間 2021-08-14 01:37:00

1樓:雙槍老椰子

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)

卷積後訊號就變長了,如果不想改變訊號,改為:f=conv(e,h,'same');

2樓:爾璐冷英彥

比如兩個訊號f1=sin(t)/t和f2=sin(t),我想得到兩個函式的卷積式不是不可能不是矩陣

matlab中所有資料都是矩陣表示不信你試試a=1size(a).

3樓:荀曾顏念雁

這段卷積使用的沒有問題啊,conv2不是在這段的,你有沒粘完的吧!!!

4樓:戴悅章佳吉敏

不可能不是矩陣

matlab中所有資料都是矩陣表示

不信你試試

a=1size(a)

5樓:有空飄過的

可以用傅立葉變換

先定義g, h

然後結果就是

ifourier(fourier(g)*fourier(h))

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

6樓:少茜拱思

基本數學原理

我們假設有兩個長度有限的任意序列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、“解法一”最繁瑣,效率低下。

7樓:

基本數學原理

我們假設有兩個長度有限的任意序列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的商多項式和餘多項式。

具體例項請看下一步。

8樓:

兩個序列是x,y

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

你試試吧!

如何用matlab求多元函式的極值

扈多綦祖 on來求解。寫成向量形式,約束a x b,初始值x0附近可以搜出出區域性極小值。輸入 z x 7.2 sqrt 25 15 x 1 2 7.2 107 20 x 1 sqrt 8 x 2 2 20 x 1 2 7.2 x 2 a 1,0 0,1 b 15 8 x0 1 1 x,feval ...

matlab中兩個函式圖形怎麼相加

利用插值將兩個函式資料的x座標統一,然後就可以相加了實際我們只有資料點的值,而兩個點之間的值我們是沒有的通過插值,我們可以得到兩個資料點之間原本我們沒有的資料當然,這些插值的資料並不是精確的只是根據原來的資料推算出來的x1 0 100 rand 1,101 x2 0 100 rand 1,101 y...

如何用matlab對這個函式進行積分

1 雙擊matlab軟體圖示,開啟matlab軟體,如下圖所示。2 使用syms命令,建立七個符號變數a b c d x y z,如下圖所示。3 這裡進行乙個較為複雜的積分舉例,使用符號變數a b x y z,建立多元函式a,其中a 32 a b 5 sin 7 z x y,如下圖所示。4 使用函式...