繪圖可視化:
1.簡單繪圖:
plot函數:
參數設定:
(1) (x,y): 以x為橫坐标,y為縱坐标,按照(x,y)的順序繪圖。
(2)(y): y為以為實數數組,以1:n為橫坐标,y為縱坐标繪圖(n為y的長度)
(3)(X, Y, LineSpec): 使用者指定的繪圖樣式

sin cos 圖像(間隔0.02):
t=0.1:0.02:2*pi;
figure;
plot(t,sin(t),‘r:’);
hold on;
plot(t,cos(t),‘b:’);
xlabel(‘x’);
ylabel(‘y’);
title(‘plot’);
四行四列矩陣繪圖:
A=[2 5 9 6 ; 5 8 6 3 ; 8 4 6 2; 8 9 3 5]
figure;
plot(A);
同時繪制多條曲線:
x=0:0.01:16;
y=sin(x);
z=cos(x);
figure;
plot(x,y,‘r:*’,x,z,‘g-.v’);
2.子圖繪制和坐标軸控制:
(1)子圖繪制:
subplot(m,n,p)函數:
m表示是圖排成m行,n表示圖排成n列,p表示圖所在的位置。例如p=1表示從左到右從上到下的第一個位置。
x=0:0.01:16;
y=sin(x);
z=cos(x);
subplot(2,1,1);
plot(x,y,‘r–’);
subplot(2,1,2);
plot(x,z,‘g–’);
x=0:0.01:16;
y=sin(x);
z=cos(x);
s=tan(x);
subplot(2,2,1);
plot(x,y,‘r–’);
subplot(2,2,3);
plot(x,z,‘b–’);
subplot(2,2,[2,4]);
plot(x,z,‘g–’);
(2)坐标軸控制:
axis off: 取消坐标軸的顯示。
axis( [xmin xmax ymin ymax] ):
可以設定目前坐标軸 x軸 和 y軸的限制範圍。
axis( [xmin xmax ymin ymax zmin zmax cmin cmax] ) : 可以設定 x,y,z軸的限制範圍和色差範圍。
x=0:0.01:16;
y=sin(x);
plot(x,y,‘r–’);
axis([0 6 0 1]);
3.網格線和邊框設定:
(1)網格線:
grid:
grid on; %顯示網格線
grid off; %關閉網格線
x=0:0.01:16;
y=sin(x);
plot(x,y,‘r–’);
grid on;
(2)邊框設定:
x=0:0.01:16;
y=sin(x);
plot(x,y,‘r–’);
box on;
4.中級技巧:
(1)拖拽
pan on;
x=0:0.01:16;
y=sin(x);
plot(x,y,‘r–’);
pan on;
(2)資料光标
datacursormode on;
x=0:0.01:16;
y=sin(x);
plot(x,y,‘r–’);
datacursormode on;
單擊滑鼠左鍵,即可擷取資料點。
(3)極坐标繪圖
polar(x,y,‘r–’); 參數:弧度、半徑、線型
x=0:0.01:16;
y=sin(x);
polar(x,y,‘r–’);
(3)雙Y軸繪圖
plotyy(x,y,x,z);
x=0:0.01:16;
y=sin(x);
z=cos(x);
plotyy(x,y,x,z);
5.圖例:
legend(‘sin(x)’,‘cos(x)’);
x=0:0.01:16;
y=sin(x);
z=cos(x);
plot(x,y,’-r’);
hold on;
plot(x,z,‘g-’);
axis([0 10 -1 1]);
legend(‘sin(x)’,‘cos(x)’);
6.文本标注
任意位置: gtext(‘y=sin(x)’);
x=0:0.01:16;
y=sin(x);
plot(x,y,’-r’);
gtext(‘y=sin(x)’);
7.各類二維圖的繪制
(1) 直方圖:
hist(x);
x=randn(100,1);
hist(x);
(2) 餅圖:
pie(x,explode);
pie3();%可繪制三維餅圖
x=[0.2 0.4 0.3];
subplot(121);
pie(x);
subplot(122);
y=[0.2 0.4 0.3 0.1];
explode([0 0 1 0]);
pie(y,explode);
(3) 散點圖:
scatter(x,y);
scatter3();%可繪制三維散點圖
x=[2 5 6 3 8 9 5 ];
y=[ 8 9 5 1 6 6 5 ];
scatter(x,y,[ ],[1 0 0],‘fill’);
8.三維圖的繪制:
x=-10:0.1:10;
y=-10:0.1:10;
[X,Y]=meshgrid(x,y);
z=X.^ 2 + Y.^2;
surf(x,y,z);
colormap(‘cool’);
axis square;
view([55,75]);
xlabel(‘x’);
ylabel(‘y’);
zlabel(‘z’);