Hi everyone. I am begining with Matlab and I have a doubt:
Follows my code:
t=0:1/(100*fe):Tmax;
Nped=10
for i=1:Nped
for 1:lenght(t)
dist(i)=vp(i)*t;
end
end
The error that appears is: Unable to perform assignment because the indices on the left side are not compatible with the size of the right
side.
Does anyone knows how can I fix it? Thanks a lot.

 채택된 답변

Torsten
Torsten 2022년 3월 13일
편집: Torsten 2022년 3월 13일

2 개 추천

dist(i) is one single number (a scalar), vp(i)*t is a vector of the same length as t.
You can't assign a vector to a scalar element.
Do you mean
t = 0:1/(100*fe):Tmax;
Nped = 10;
for i = 1:Nped
for j = 1:lenght(t)
dist(i,j)=vp(i)*t(j);
end
end
or simply
t = 0:1/(100*fe):Tmax;
Nped = 10;
for i = 1:Nped
dist(i,:) = vp(i)*t
end
or even simpler
t = 0:1/(100*fe):Tmax;
dist = v.*t
if v is a column vector ?
?
Or maybe
t = 0:1/(100*fe):Tmax;
Nped = 10
for i = 1:Nped
dist{i} = vp(i)*t;
end

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Data Type Identification에 대해 자세히 알아보기

제품

릴리스

R2019b

질문:

2022년 3월 13일

댓글:

2022년 3월 13일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by