Matlab - 使用" for循环"中2个矩阵的元素数不匹配

时间:2017-07-01 23:20:20

标签: matlab for-loop

显示此错误,我不知道如何解决此问题。我不明白这个错误,似乎我的问题出现在for循环中。任何人都可以帮助我

  

在赋值A(:) = B中,A和B中的元素数必须为   相同。 ......中的错误(第13行)

这是第13行的代码:p(k)=exp(n/4)*phi;

clc;
clear;
close all;
tmin=-10;
tmax=10;
t=tmin:0.01:tmax;
phi=zeros(size(t));
p=zeros(size(t)); 
k=0;
for n=-24:-1
k=k+1;
phi((-tmin+n/4)*100+1:(-tmin+(n+1)/4)*100+1)=1;
p(k)=exp(n/4)*phi;    
end

1 个答案:

答案 0 :(得分:0)

这是因为您的phi1x2001加倍,并且您尝试将其分配给p的单个值。解决此问题的一种方法是更改​​p的维度,如下所示

p=zeros(24, size(t,2));

在这种情况下,在for循环中你可以写

p(k,:)=exp(n/4)*phi;

因此,您的p(1,:)例如将与n = -24等对应