matlab 畫圖函式的例項
阿新 • • 發佈:2019-02-14
clc,
clear all;
close all;
A=[1 2 3;4 5 6;7 8 9];
B=rot90(A);
C=fliplr(A);
D=magic(3);
D(:,10)=2;
%%
% %畫圖
% x=linspace(0,2*pi,50);
% y=cos(x);
% plot(x,y,'r.')
% plot(x,y,'*')
% y=cos(x);
% xlabel('x');
% ylabel('y');
% axis([0 1 0 1])
% title('我是小黃雞');
% legend('x軸','y軸')
% plot(x,y,'r+',x,sin(x),'mo' )
%%
% 繪製雙Y軸曲線
% x=linspace(0,2,201);%生成等間距的取樣資料
% subplot(131);
% [Ax1,h1,h2]=plotyy(x,sin(x*2),x,sinh(exp(x)));%繪製雙Y軸曲線
% xlabel('我是X軸');
% ylabel('我是Y軸');
% subplot(132);
% [Ax2,h1,h2]=plotyy(x,abs(sin(x)),x,sinh(x),@semilogy);%繪製雙Y軸曲線
% xlabel('b','Fontsize',12,'fontname','Times New Roman');%x軸標註
% box on;
% subplot(133 );
% [Ax3,h1,h2]=plotyy(10*[x*10+1],abs(sin(x)),10*[x*10+1],sinh(x),'loglog',@semilogx);%繪製雙Y軸曲線
% axis([Ax1,Ax2,Ax3],'square');
% xlabel('(c)','Fontsize',12,'fontname','Times New Roman');
% set([Ax1,Ax2,Ax3],'Fontsize',10);
%%
% logglog函式
% x1=logspace(-1,2);
% subplot(131);
% loglog(x1,exp(x1),'s-');
% title('logglog函式繪圖' );
% grid on;
% x2=0:0.1:10;
% subplot(132);
% semilogx(10.^x2,x2,'r-.');
% title('semilogx函式');
% subplot(1,3,3);
% semilogy(10.^x2,'rd');
% title('semilogy函式');
%%
% x=0:0.01:1;
% y=sin(tan(pi*x));
% subplot(121);
% plot(x,y);
% title('plot繪圖');
% subplot(122);
% fplot('sin(tan(pi*x))',[0,1],1e-4);
% title('fplot函式繪圖');
%%
% %繪製引數函式的圖形
% subplot(2,1,1);
% ezplot('cos(5*t)','sin(3*t)',[0,2*pi]);%繪製引數 函式效果圖
% grid on;
% subplot(2,1,2);
% ezplot('5*x^2+25*y^2=6',[-1.5,1.5,-1,1]);
%%
% % gin input 讀取點 按Enter結束
% x1=0:pi./100:2*pi;
% plot(x1,cos(x1));
% n=10;
% % [x,y]=ginput(n)%滑鼠讀取
% % [x,y]=ginput%無限讀取
% [x,y,button]=ginput%滑鼠左右中的讀取
%%
% % 為繪製的圖新增標註說明
% x=-pi:pi/20:pi;
% plot(x,cos(x),'-ro',x,sin(x),'-.b');
% h=legend('cos_x','sin_x',2);
% set(h,'Interpreter','none');
% xlabel('x');
% ylabel('y');
% title('繪製兩條曲線');
% grid on;%新增網格線
% box off;%刪除框圖 是否新增 外框
% hold on;
% stem(x,sin(x),'-g*')
%%
% %在一個圖形視窗中以子圖形式繪製多條曲線
% x=linspace(0,2*pi,60);
% y=sin(x);
% z=cos(x);
% t=sin(x)./(cos(x)+eps);
% c=cos(x)./(sin(x)+eps);
% subplot(2,2,1);%只選擇2行2列的第一個
% stairs(x,y);
% title('sin(x)-1');
% axis([0 2*pi -1 1]);
%
% subplot(2,1,2);%只選擇2行2列的第二個
% stem(x,y);
% title('sin(x)-2');
% axis([0 2*pi -1 1]);
%
% subplot(4,4,3);%只選擇4行4列的第三個
% plot(x,y);
% title('sin(x)');
% axis([0 2*pi -1 1]);
% subplot(4,4,7);%只選擇4行4列的第7個
% plot(x,y);
% title('sin(x)');
% axis([0 2*pi -1 1]);
% subplot(4,4,8);%只選擇4行4列的第8個
% plot(x,y);
% title('sin(x)');
% axis([0 2*pi -1 1]);
%%
% %誤差量圖
% x=linspace(0,2*pi,20);
% y=sin(x);
% z=std(y)*ones(size(x));
% errorbar(x,y,z)
%%
% %畫出條形圖
% x=1:15;
% y=rand(size(x));
% bar(x,y);
% xlabel('條形圖顯示');
%%
% %極地型座標
% theta=linspace(0,2*pi);
% r=cos(2*theta);
% polar(theta,r)
%%
% hist函式顯示資料的分段情況和統計特性
x=randn(999,1);%randn產生高斯隨機數
hist(x,50);%50代表長條的個數
%%
% %stem函式產生針狀圖,繪製數位訊號
% x=linspace(0,10,100);
% y=sin(x).*exp(-x/4);
% stem(x,y);
%%
% % stairs函式可以畫出階樣圖
% x=linspace(0,10,30);
% y=sin(x).*exp(-x/4);
% stairs(x,y)
%%
%fill函式將資料點視為多邊形點,並將此多邊形塗上顏色
% x=linspace(0,10,100);
% y=sin(x).*exp(-x/4);
% fill(x,y,'c')
%%
% % feather函式將每一個資料點視為複數,並以箭頭畫出
% theta=linspace(0,2*pi,40);
% z=cos(theta)+i*sin(theta);
% feather(z)
%%
% % compass和feather函式很像,只是每個箭頭的起點都在圓內
% theta=linspace(0,2*pi,40);
% z=cos(theta)+i*sin(theta);
% compass(z)
%%
% % 利用plot3、mesh、meshc、和meshz分別畫出三維網格圖
% [X,Y]=meshgrid(-3:.5:3);
% Z=2*X.^2-3*Y.^2;
% subplot(2,2,1);
% plot3(X,Y,Z)
% title('plot3');
%
% subplot(2,2,2);
% mesh(X,Y,Z)
% title('mesh')
%
% subplot(2,2,3);
% meshc(X,Y,Z);
% title('meshc');
%
% subplot(2,2,4);
% meshz(X,Y,Z);
% title('meshz');
%%
% 利用hidden函式顯示3維圖形的透視效果
% [X,Y]=meshgrid(-8:.5:8);
% R=sqrt(X.^2+Y.^2)+eps;
% Z=sin(R)./R;
% subplot(121);
% mesh(X,Y,Z)
% hidden on;
% subplot(122);
% mesh(X,Y,Z)
% hidden on;
%%
% %利用surf函式繪製三維表面圖
% [x,y]=meshgrid(-3:1/8:3);
% z=peaks(x,y);
% subplot(221);
% surf(z);
% title('繪製surf(z)繪圖的形式');
% subplot(222);
% surf(x,y,z);
% title('繪製surf(x,y,z)繪圖的形式');
% subplot(223);
% surfl(x,y,z);
% title('繪製surfl(x,y,z)繪圖的形式');
%
% subplot(224);
% surfc(z);
% title('繪製surfc(x,y,z)繪圖的形式');
%%
% %標準三維曲面圖的繪製
% t=0:pi/10:2*pi;
% [X,Y,Z]=cylinder(2+cos(t));
% subplot(2,2,1);
% surf(X,Y,Z);
% title('圓柱圖');
% axis square
%
% [x,y,z]=ellipsoid(0,0,0,5.9, 3.25, 3.25 ,30);
% subplot(2,2,2);
% surfl(x,y,z);
% title('橢圓');
% colormap hsv
% axis equal
% subplot(2,2,3);
% surf(x,y,z);
% axis equal
% title('球體');
% [x,y,z]=peaks;
% subplot(2,2,4);
% meshz(x,y,z);
% title('多峰圖');
%%
% %三維等高圖
% X=[0 1 1 2;1 1 2 2;0 0 1 1];
% Y=[1 1 1 1;1 0 1 0;0 0 0 0];
% Z=[1 1 1 1;1 0 1 0;0 0 0 0];
% c=[0.5 1 1 0.5;1 0.5 0.5 0.1667;0.333 0.333 0.5 0.5];
% subplot(121);
% fill3(X,Y,Z,c);
% title('填充圖');
% [X,Y,Z]=peaks;
% subplot(122);
% contour3(X,Y,Z,20);
% title('等高線圖');
% set(gcf,'color','w');
%%
%從不同視點繪製多峰函式曲線
% subplot(221);
% mesh(peaks);
% view(-37.5,30);
% title('azimuth=37.5,elevation=30');
% subplot(222);
% mesh(peaks);
%
% view(0,90);
% title('azimuth=0,elevation=90');
% subplot(223);
% mesh(peaks);
% view(90,0);
% title('azimuth=90,elevation=0');
% subplot(224);
% mesh(peaks);
% view(-7,-12);
% title('azimuth=-7,elevation=-12');