|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
主程序如下:
%Ch413
%清零
clear all;
clc;
%定义h和x
h=[1,2,-1,1];
M=length(h)-1;
x=[1,1,2,1,2,2,1,1];
L=length(x);
%计算h和x的卷积
y=matcon(x,h);
%此处交换x和h的位置不影响结果,即y=Hx或y=Xh
Ly=length(y);
%输出结果
[L M Ly]
y
包含的matcon.m如下:
%用矩阵相乘的方法计算卷积
function y=matcon(x,h)
L=length(x);
M=length(h)-1;
H=zeros(L+M,L); %初始化H矩阵
for i=1:L
H(i:M+i,i)=h ; %给H矩阵赋值
end
%计算输出y
y=H*x'; %x'为列矩阵
y=y'; %最后输出y为行矩阵
最后运行时报错:??? In an assignment A(matrix,matrix) = B, the number of rows in B
and the number of elements in the A row index matrix must be the same.
Error in ==> C:\MATLAB6p5\work\matcon.m
On line 8 ==> H(i:M+i,i)=h ; %给H矩阵赋值
我还是一个初学者,不知道这句话里哪错了.还请大侠指点,谢谢
[ 本帖最后由 ChaChing 于 2009-5-16 00:27 编辑 ] |
|