Matlabplot画图

根据取值范围 用plot来画点

方法一:

clear;
clc;
s=[1 10
2 5
3 7
4 6
5 2
7 1 ]'
x=s(1,:);
y=s(2,:);
for i=1:length(x)
    if(x(i)>3 && y(i)>3)
        hold on;
        plot(x(i),y(i),'v');
    elseif (x(i)>3 && y(i)<(3))
        hold on;
        plot(x(i),y(i),'o');
    elseif(x(i)<3 && y(i)>3)
        hold on;
        plot(x(i),y(i),'*');
    else
        hold on;
        plot(x(i),y(i),'.');
    end
end
hold off;
这种画法 优点:1。比较直观  缺点:1。效率太低 2。图例不好画(解决方法:可以选取 某几个点先画然后标注图利)

方法二:

ind1=find(x>3 );
ind2=find(y(ind1)>3);

plot(x(ind1(ind2)),y(ind1(ind2)),'o');
ind2=find(y(ind1)<3);
hold on;
plot(x(ind1(ind2)),y(ind1(ind2)),'*');
ind3=find(x<3);
ind2=find(y(ind3)>3);
hold on;
plot(x(ind3(ind2)),y(ind3(ind2)),'v');

hold off;
legend('x>3,y>3','x<3,y<3','x<3,y>3')

优点:1。速度快 缺点:1。剩余的点不好画

 

posted @ 2009-06-09 15:12  红袖添香  阅读(1483)  评论(0编辑  收藏  举报