Help with for loop for a function

I am trying to run the following for loop for different values of t from 0.01 to about 10 however I keep on getting Attempted to access M(0.1); index must be a positive integer or logical. Error in untitled3 (line 3)
When i change t to be a integer the for loop runs perfectly fine and saves the output into a vector M. I also tried using the cell command but it didn't work. Any help would be appreciated. The function does take any number, it doesn't have to be an integer. When I run the function for specific values it does work.
M=[];
for t=0.01:0.01:10;
M(t)=dtmf_attack(t);
end
display(M)

답변 (3개)

Orion
Orion 2014년 11월 23일
편집: Orion 2014년 11월 23일

0 개 추천

just add a counter
M=[];
i=0;
for t=0.01:0.01:10;
i=i+1;
M(i)=dtmf_attack(t);
end
display(M)
Image Analyst
Image Analyst 2014년 11월 23일
편집: Image Analyst 2014년 11월 23일

0 개 추천

Try this:
% Define t
t=0.01:0.01:10;
% Build M:
M = zeros(1, length(t)); % Optional preallocation.
for k = 1 : length(t)
M(k) = dtmf_attack(t(k));
end
% Display M
M
Andrea
Andrea 2014년 11월 23일

0 개 추천

Thanks they both worked

카테고리

도움말 센터File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

질문:

2014년 11월 23일

답변:

2014년 11월 23일

Community Treasure Hunt

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

Start Hunting!

Translated by