学习笔记(四)——MATLAB画图

最近和MATLAB天天打交道,画图这块又知道了一些新的指令,记录一下~

1、读取数据

p=xlsread('1.xlsx');

2、根据坐标画点

x=p(:,1);  %取p的第一列,即横坐标

y=p(:,2); %p的第二列,即纵坐标

hold on  

plot(x,y,'r*');

3、对点进行标号

(1)text(x(1),y(1),'1');

(2)批量画点标注

for i=1:1:20

text(p(i,1),p(i,2),num2str(i));

plot(p(i,1),p(i,2),'ro','MarkerSize',8); 

hold on;

end

4、连线图(点与点之间进行连线)

(1)plot([x(1);x(75)],[y(1);y(75)]);  %表示1和75连线

(2)

p=xlsread('邻接.xlsx');

x=p(:,1); %横坐标

y=p(:,2); %纵坐标

A=zeros(582,582);  %矩阵初始化

u=[151;153;177;202;203;264;317;325;328;332;362;387;418;483;541;572;578;];

for k=1:928    %i点和j点有连线,一共928组

    a=x(k);  

    b=y(k);

    A(a,b)=1;   %有连线的赋值为1

    A(b,a)=1;  %无向图,所以双向赋值

end     %邻接矩阵构造完成,有连线的为1,没连线的赋值为0

B=xlsread('坐标.xlsx');    

k=1:582;   %批量画图

gplot(A(k,k),B,'b-*');   

 %新学习的函数gplot,A(K,K)为前面构造的邻接矩阵,B为坐标矩阵n×2的

hold on;

5、给定圆心和半径画圆

(1)

R = 30;

cx = 326;

cy = 355;

n = 1000;

circle(R,cx,cy,n);

此处需用到circle函数

function [x,y] = circle(R,cx,cy,nb_pts)

%%%%%%%%%%%%%%%%%%%

% 画圆函数

%%%%%%%%%%%%%%%%%%%

alpha=0:pi/nb_pts:2*pi;%角度[0,2*pi]

%R=2;%半径

x=R*cos(alpha)+cx;

y=R*sin(alpha)+cy;

plot(cx,cy,'r+',x,y,'m-');

grid on;

axis equal;

end

(2)批量画圆

for R=30:10:200

    cx = 326;

    cy = 355;

    n = 1000; 

    circle(R,cx,cy,n);

end

你可能感兴趣的:(学习笔记(四)——MATLAB画图)