Matlab-使用“时2个矩阵的元素数不匹配”;for loop";

Matlab-使用“时2个矩阵的元素数不匹配”;for loop";,matlab,for-loop,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+

显示了此错误,我不知道如何解决此问题。我不理解这个错误,我的问题似乎在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

这是因为您的
phi
1x2001
double,并且您试图将其分配给
p
的单个值。克服这一问题的一种方法是如下更改
p
的维度

p=zeros(24, size(t,2));
在这种情况下,可以在for循环中编写

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

因此,您的
p(1,:)
示例将对应于
n=-24
,等等。

欢迎使用@AliDibaj的可能副本。如果这解决了你的问题,请考虑接受答案。