plotting an array of doubles

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

답변 (3개)

Azzi Abdelmalek
Azzi Abdelmalek 2013년 4월 5일

0 개 추천

Use
snr1(i)

댓글 수: 2

ksew ksew
ksew ksew 2013년 4월 5일
편집: Azzi Abdelmalek 2013년 4월 5일
i did this still nothing works
for n =1:1:5001
snr1(i) = rms(input(n))/ rms(out(n));
end
Azzi Abdelmalek
Azzi Abdelmalek 2013년 4월 5일
편집: Azzi Abdelmalek 2013년 4월 5일
In your case, the counter is n not i then use
snr1(n)

댓글을 달려면 로그인하십시오.

Carlos
Carlos 2013년 4월 5일

0 개 추천

He means that you should do
for n =1:1:5001
snr1(n) = rms(input(n))/ rms(out(n));
end
Jan
Jan 2013년 4월 5일

0 개 추천

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.

카테고리

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

질문:

2013년 4월 5일

Community Treasure Hunt

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

Start Hunting!

Translated by