plotting an array of doubles

5 views (last 30 days)
ksew ksew
ksew ksew on 5 Apr 2013
im trying to plot an array with length of (5001 x 101 double) and need to store then in another array. I am using the following code to do so however only 1 values is being stored what im doing wrong
% code
for n =1:1:5001
snr1 = rms(input(n))/ rms(out(n));
end
end

Answers (3)

Azzi Abdelmalek
Azzi Abdelmalek on 5 Apr 2013
Use
snr1(i)
  2 Comments
ksew ksew
ksew ksew on 5 Apr 2013
Edited: Azzi Abdelmalek on 5 Apr 2013
i did this still nothing works
for n =1:1:5001
snr1(i) = rms(input(n))/ rms(out(n));
end
Azzi Abdelmalek
Azzi Abdelmalek on 5 Apr 2013
Edited: Azzi Abdelmalek on 5 Apr 2013
In your case, the counter is n not i then use
snr1(n)

Sign in to comment.


Carlos
Carlos on 5 Apr 2013
He means that you should do
for n =1:1:5001
snr1(n) = rms(input(n))/ rms(out(n));
end

Jan
Jan on 5 Apr 2013
The suggested methods might work partially only, and this means, that they fail. You want a "5001 x 101 double" array, such that I guess the right hand side replies an [1 x 101] vector. Then:
snr1 = zeros(5001, 101); % Pre-allocate for speed!!!
for n = 1:5001
snr1(n, :) = rms(input(n)) / rms(out(n));
end
Using "input" as name of a variable has the disadvantage, that it shadows the built-in function with the same name. Such shadowing causes unexpected troubles frequently.

Community Treasure Hunt

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

Start Hunting!