matlab 三維畫圖總結

來源:互聯網
上載者:User

1.畫函數的三維圖,如:Z(X,Y)=2*X.*exp(-X.^2-Y.^2)+1;

close all;[X,Y]=meshgrid(-2:0.5:2,-2:0.5:2);%產生座標軸Z=2*X.*exp(-X.^2-Y.^2)+1;%Z是X,Y的函數%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%num=0;num=num+1;subplot(2,3,num);plot3(X,Y,Z);axis([-3 3 -3 3 0 2]);%限定顯示的範圍xlabel('x軸');%x軸座標ylabel('y軸');%y軸座標zlabel('z軸');%z軸座標title('http://blog.csdn.net/nuptboyzhb/   figure(1)');%標題%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%num=num+1;subplot(2,3,num);mesh(X,Y,Z);axis([-3 3 -3 3 0 2]);%限定顯示的範圍xlabel('x軸');%x軸座標ylabel('y軸');%y軸座標zlabel('z軸');%z軸座標title('http://blog.csdn.net/nuptboyzhb/   figure(2)');%標題%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%num=num+1;subplot(2,3,num);meshc(X,Y,Z);axis([-3 3 -3 3 0 2]);%限定顯示的範圍xlabel('x軸');%x軸座標ylabel('y軸');%y軸座標zlabel('z軸');%z軸座標title('http://blog.csdn.net/nuptboyzhb/   figure(3)');%標題%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%num=num+1;subplot(2,3,num);surf(X,Y,Z);axis([-3 3 -3 3 0 2]);%限定顯示的範圍xlabel('x軸');%x軸座標ylabel('y軸');%y軸座標zlabel('z軸');%z軸座標title('http://blog.csdn.net/nuptboyzhb/   figure(4)');%標題%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%num=num+1;subplot(2,3,num);meshz(X,Y,Z);axis([-3 3 -3 3 0 2]);%限定顯示的範圍xlabel('x軸');%x軸座標ylabel('y軸');%y軸座標zlabel('z軸');%z軸座標title('http://blog.csdn.net/nuptboyzhb/   figure(5)');%標題%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%num=num+1;subplot(2,3,num);surf(X,Y,Z);hold on;stem3(X,Y,Z,'r');%畫豎線axis([-3 3 -3 3 0 2]);%限定顯示的範圍xlabel('x軸');%x軸座標ylabel('y軸');%y軸座標zlabel('z軸');%z軸座標title('http://blog.csdn.net/nuptboyzhb/   figure(6)');%標題

 

 

2.畫矩陣的三維圖

clc;clear all;close all;X=[0 1 2 3 4 5 6 7 8 9];Y=[0 1 2 3 4 5 6 7 8 9];for i=1:1:length(X)    for j=1:1:length(Y)        Z(i,j)=mod(i*j*rand(1),9);    endend%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%num=0;num=num+1;subplot(2,3,num);plot3(X,Y,Z);axis([0 9 0 9 0 9]);%限定顯示的範圍xlabel('x軸');%x軸座標ylabel('y軸');%y軸座標zlabel('z軸');%z軸座標title('http://blog.csdn.net/nuptboyzhb/   figure(1)');%標題%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%num=num+1;subplot(2,3,num);mesh(X,Y,Z);axis([0 9 0 9 0 9]);%限定顯示的範圍xlabel('x軸');%x軸座標ylabel('y軸');%y軸座標zlabel('z軸');%z軸座標title('http://blog.csdn.net/nuptboyzhb/   figure(2)');%標題%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%num=num+1;subplot(2,3,num);meshc(X,Y,Z);axis([0 9 0 9 0 9]);%限定顯示的範圍xlabel('x軸');%x軸座標ylabel('y軸');%y軸座標zlabel('z軸');%z軸座標title('http://blog.csdn.net/nuptboyzhb/   figure(3)');%標題%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%num=num+1;subplot(2,3,num);surf(X,Y,Z);axis([0 9 0 9 0 9]);%限定顯示的範圍xlabel('x軸');%x軸座標ylabel('y軸');%y軸座標zlabel('z軸');%z軸座標title('http://blog.csdn.net/nuptboyzhb/   figure(4)');%標題%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%num=num+1;subplot(2,3,num);meshz(X,Y,Z);axis([0 9 0 9 0 9]);%限定顯示的範圍xlabel('x軸');%x軸座標ylabel('y軸');%y軸座標zlabel('z軸');%z軸座標title('http://blog.csdn.net/nuptboyzhb/   figure(5)');%標題%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%num=num+1;subplot(2,3,num);surf(X,Y,Z);hold on;stem3(X,Y,Z,'r');%畫豎線axis([0 9 0 9 0 9]);%限定顯示的範圍xlabel('x軸');%x軸座標ylabel('y軸');%y軸座標zlabel('z軸');%z軸座標title('http://blog.csdn.net/nuptboyzhb/   figure(6)');%標題

 

 

3.畫矩陣的色彩深度圖

我自己編寫的一個函數:graycolor.m

%filename:graycolor.m%鄭海波 2013-01-31%http://blog.csdn.net/nuptboyzhb/%原理:灰階映像的偽彩色處理%值越大,顯示的顏色越藍,越小,顯示的顏色越紅!%參數:newbuf必須使二維數組或矩陣function graycolor(newbuf);min_n=min(min(newbuf));max_n=max(max(newbuf));newbuf=newbuf./(max_n-min_n)*255;[M N]=size(newbuf);for i=1:1:M    for j=1:1:N        R(i,j)=GrayColorR(newbuf(i,j));        G(i,j)=GrayColorG(newbuf(i,j));        B(i,j)=GrayColorB(newbuf(i,j));    endendimg(1:1:M,1:1:N,1)=R(1:M,1:N);img(1:1:M,1:1:N,2)=G(1:M,1:N);img(1:1:M,1:1:N,3)=B(1:M,1:N);imshow(uint8(img));function r=GrayColorR(gray)r=0;if gray>=170    r=255;endif gray>=128&&gray<=170    r=255/42*(gray-128);endreturn;function g=GrayColorG(gray)g=0;if gray>=84&&gray<=170    g=255;endif gray<=84    g=255/84*gray;endif gray>=170&&gray<=255    g=255/85*(255-gray);endreturn;function b=GrayColorB(gray)b=0;if gray<=84    b=255;endif gray>=84&&gray<=128    b=255/44*(128-gray);endreturn;

 

函數的調用:

[X,Y]=meshgrid(-2:0.01:2,-2:0.01:2);%產生座標軸Z=2*X.*exp(-X.^2-Y.^2)+1;%Z是X,Y的函數graycolor(Z);title('http://blog.csdn.net/nuptboyzhb/');%標題

另外,在\matlab2009a\toolbox\matlab\demos\graf3d.m中檔案,有更加詳細的介紹。介面如下:

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.