for i = 1:length(xaxis); if xaxis(i) >0; plot(xaxis(i),yaxis(i)); end
end;
xaxis and yaxis have numbers. I always get a blank plot space

 採用された回答

Steven Lord
Steven Lord 2016 年 10 月 4 日

3 投票

% Sample data
xaxis = -2*pi:0.1:2*pi;
yaxis = sin(xaxis);
% Determine the points with positive x coordinates and plot them
positiveXAxisMask = xaxis > 0;
plot(xaxis(positiveXAxisMask ), yaxis(positiveXAxisMask ), 'x')
% Let's plot the negative x coordinates as well for illustration
hold on
plot(xaxis(~positiveXAxisMask ), yaxis(~positiveXAxisMask ), 'o')

1 件のコメント

Don
Don 2016 年 10 月 4 日
yay! this one worked. I accepted the earlier answers too quickly

サインインしてコメントする。

その他の回答 (3 件)

Massimo Zanetti
Massimo Zanetti 2016 年 10 月 4 日

3 投票

Yes, because you are plotting just on point. Better try this:
plot(xaxis,yaxis)
Gareth Thomas
Gareth Thomas 2016 年 10 月 4 日
編集済み: Gareth Thomas 2016 年 10 月 4 日

0 投票

You need to add the hold on command. Try this:
for i = 1:length(xaxis); hold on;if xaxis(i) >0; plot(xaxis(i),yaxis(i),'x'); end; end;
Notice the 'x' which helps you see it.
Gareth Thomas
Gareth Thomas 2016 年 10 月 4 日

0 投票

for i = 1:length(xaxis); hold on ;if xaxis(i) >0; plot(xaxis(i),yaxis(i),'x'); end; end;

カテゴリ

ヘルプ センター および File Exchange2-D and 3-D Plots についてさらに検索

タグ

質問済み:

Don
2016 年 10 月 4 日

コメント済み:

Don
2016 年 10 月 4 日

Community Treasure Hunt

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

Start Hunting!

Translated by