필터 지우기
필터 지우기

It seems that PLOT command is being bypass and not being execute..

조회 수: 1 (최근 30일)
Nimisha
Nimisha 2016년 5월 14일
편집: Nimisha 2016년 5월 16일
delete(instrfindall)
clear all;clc
s = serial('COM6');
fopen(s)
A1 = 0; B1 = 0;
for i = 1:1000
P = fscanf(s,'%f')
if P == 1
A1 = A1+1; B1 = B1;
elseif P == 2
A1 = A1-1; B1 = B1;
elseif P == 3
A1 = A1; B1 = B1+1;
elseif P == 4
A1 = A1; B1 = B1-1;
else
end
plot(A1,B1,'*')
hold on
end
fclose(s)
delete(instrfindall)
I have written this code. I am receiving serially data very wel . But plot command is not being executed. As well * is not moving accordingly. Please correct me.

채택된 답변

Image Analyst
Image Analyst 2016년 5월 14일
A1 and B1 are just points, not vectors or arrays. So you will just see a single point, not a curve. To see it better, try this:
plot(A1, B1, 'b*', 'LineWidth', 2, 'MarkerSize', 30);
grid on;
If you want more points, then you need to make A1 and B1 vectors, or else put "hold on" and call plot over and over again with new values of A1 and B1.
  댓글 수: 6
Walter Roberson
Walter Roberson 2016년 5월 15일
Good point about the drawnow()
Nimisha
Nimisha 2016년 5월 16일
편집: Nimisha 2016년 5월 16일
Thanks.
drawnow
Commmand works well to show and update plot.

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

추가 답변 (1개)

Walter Roberson
Walter Roberson 2016년 5월 14일
After the
hold on
add
set(gca, 'xlimmode', 'auto', 'ylimmode', 'auto')
  댓글 수: 1
Nimisha
Nimisha 2016년 5월 15일
Ya. Thanks I modified my code with this command.
But my actual problem is mentioned above.

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

카테고리

Help CenterFile Exchange에서 Graphics Performance에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by