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
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)
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

类别

帮助中心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