첫 번째 사항부터 시작합니다.
JollyRoger 대답은 정확하지만 잘못하고있는 부분을 보도록하겠습니다.
Y
대 X
을 플롯하려고합니다. Y
스칼라 동안
plot(Y,X)
그러나 당신의 X
는 벡터이다. 또한 당신은 X
같은 명령은 독립 변수
입니다 반전한다
plot(X,Y)
그래서 각 X
- 값에 대한 Y 벡터 잡고 정보를 만들기 위해 무엇을 할 수 있는가? 당신은 각 항목에 저장해야합니다 모든 변수 Y
의
for k=1:40
Y(k) = 6113 * cos(2*pi*200*X(k) + 1508);
end
먼저 현재 인덱스와 벡터가된다. 아시다시피 나는 인덱스 변수를 k
으로 변경 했으므로 i
은 복소수이기도합니다. 이 plot(X,Y)
을 플롯하려고한다면
것은, 당신은 X
같은 오류를 얻을 것입니다 및 Y
은 X
더 값이 동일한 길이를 가지고 있겠지. 플롯 명령을 적용 할 필요가 그래서 : 당신이 X
으로 값의 동일한 금액을 가지고 Y
을 원하는 경우에
plot(X(1:40),Y)
을 당신이 당신의 벡터 X
만큼 for 루프을해야
for k=1:length(X)
Y(k) = 6113 * cos(2*pi*200*X(k) + 1508);
end
plot(X,Y)
마지막으로, for-loop에서 변수를 사용하기 전에 변수를 미리 할당하여 코드 실행 시간을 개선하십시오. 예 :
Y=zeros(size(X));
for k=1:length(X)
Y(k) = 6113 * cos(2*pi*200*X(k) + 1508);
end
plot(X,Y)