matlab 矩阵绘三维图

axis off;% 去掉坐标轴

axistight;% 紧坐标轴

axisequal;% 等比坐标轴

axis([-0.1, 8.1, -1.1, 1.1]);% 坐标轴的显示范围

 

% gca: gca, h=figure(...);

set(gca,'XLim',[3 40]);% X轴的数据显示范围

set(gca,'XTick',[-3.14,0,3.14] );% X轴的记号点

set(gca,'XTicklabel',{'-pi','0','pi'});% X轴的记号

set(gca,'XTick', []);% 清除X轴的记号点

set(gca,'XGrid','on');% X轴的网格

set(gca,'XDir','reverse');% 逆转X轴

set(gca,'XColor','red');% X轴的颜色

1. axis([xmin xmax ymin ymax])

设置当前图形的坐标范围,分别为x轴的最小、最大值,y轴的最小最大值

2. V=axis

返回包含当前坐标范围的一个行向量

3. axis auto

将坐标轴刻度恢复为自动的默认设置

4. axis manual

冻结坐标轴刻度,此时如果hold被设定为on,那么后边的图形将使用与前面相同的坐标轴刻度范围

5. axis tight

将坐标范围设定为被绘制的数据范围

6. axis fill

这是坐标范围和屏幕的高宽比,使得坐标轴可以包含整个绘制的区域。该选项只有在PlotBoxaApectRatio或DataAspectRatioMode被设置为‘manual’模式才有效

7. axis ij

将坐标轴设置为矩阵模式。此时水平坐标轴从左到有取值,垂直坐标从上到下

8. axis xy

将坐标设置为笛卡尔模式。此时水平坐标从左到右取值,垂直坐标从下到上取值

9. axis equal

设置屏幕高宽比,使得每个坐标轴的具有均匀的刻度间隔

10. axis square

将坐标轴设置为正方形

11. axis normal

将当前的坐标轴框恢复为全尺寸,并将单位刻度的所有限制取消

12. axis vis3d

冻结屏幕高宽比,使得一个三维对象的旋转不会改变坐标轴的刻度显示

13. axis off

关闭所有的坐标轴标签、刻度、背景

14. axis on

打开所有的坐标轴标签、刻度、背景

--------------------- 本文来自 还在学习的编程小白 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/qq_35052417/article/details/76461643?utm_source=copy

 

 

 

1.画函数的三维图,如:Z(X,Y)=2*X.*exp(-X.^2-Y.^2)+1;

 

 
  1. close all;

  2. [X,Y]=meshgrid(-2:0.5:2,-2:0.5:2);%生成坐标轴

  3. Z=2*X.*exp(-X.^2-Y.^2)+1;%Z是X,Y的函数

  4. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

  5. num=0;

  6. num=num+1;

  7. subplot(2,3,num);

  8. plot3(X,Y,Z);

  9. axis([-3 3 -3 3 0 2]);%限定显示的范围

  10. xlabel('x轴');%x轴坐标

  11. ylabel('y轴');%y轴坐标

  12. zlabel('z轴');%z轴坐标

  13. title('http://blog.csdn.net/nuptboyzhb/ figure(1)');%标题

  14. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

  15. num=num+1;

  16. subplot(2,3,num);

  17. mesh(X,Y,Z);

  18. axis([-3 3 -3 3 0 2]);%限定显示的范围

  19. xlabel('x轴');%x轴坐标

  20. ylabel('y轴');%y轴坐标

  21. zlabel('z轴');%z轴坐标

  22. title('http://blog.csdn.net/nuptboyzhb/ figure(2)');%标题

  23. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

  24. num=num+1;

  25. subplot(2,3,num);

  26. meshc(X,Y,Z);

  27. axis([-3 3 -3 3 0 2]);%限定显示的范围

  28. xlabel('x轴');%x轴坐标

  29. ylabel('y轴');%y轴坐标

  30. zlabel('z轴');%z轴坐标

  31. title('http://blog.csdn.net/nuptboyzhb/ figure(3)');%标题

  32. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

  33. num=num+1;

  34. subplot(2,3,num);

  35. surf(X,Y,Z);

  36. axis([-3 3 -3 3 0 2]);%限定显示的范围

  37. xlabel('x轴');%x轴坐标

  38. ylabel('y轴');%y轴坐标

  39. zlabel('z轴');%z轴坐标

  40. title('http://blog.csdn.net/nuptboyzhb/ figure(4)');%标题

  41. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

  42. num=num+1;

  43. subplot(2,3,num);

  44. meshz(X,Y,Z);

  45. axis([-3 3 -3 3 0 2]);%限定显示的范围

  46. xlabel('x轴');%x轴坐标

  47. ylabel('y轴');%y轴坐标

  48. zlabel('z轴');%z轴坐标

  49. title('http://blog.csdn.net/nuptboyzhb/ figure(5)');%标题

  50. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

  51. num=num+1;

  52. subplot(2,3,num);

  53. surf(X,Y,Z);

  54. hold on;

  55. stem3(X,Y,Z,'r');%画竖线

  56. axis([-3 3 -3 3 0 2]);%限定显示的范围

  57. xlabel('x轴');%x轴坐标

  58. ylabel('y轴');%y轴坐标

  59. zlabel('z轴');%z轴坐标

  60. title('http://blog.csdn.net/nuptboyzhb/ figure(6)');%标题

 

matlab 矩阵绘三维图

2.画矩阵的三维图

 

 
  1. clc;

  2. clear all;

  3. close all;

  4. X=[0 1 2 3 4 5 6 7 8 9];

  5. Y=[0 1 2 3 4 5 6 7 8 9];

  6. for i=1:1:length(X)

  7. for j=1:1:length(Y)

  8. Z(i,j)=mod(i*j*rand(1),9);

  9. end

  10. end

  11. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

  12. num=0;

  13. num=num+1;

  14. subplot(2,3,num);

  15. plot3(X,Y,Z);

  16. axis([0 9 0 9 0 9]);%限定显示的范围

  17. xlabel('x轴');%x轴坐标

  18. ylabel('y轴');%y轴坐标

  19. zlabel('z轴');%z轴坐标

  20. title('http://blog.csdn.net/nuptboyzhb/ figure(1)');%标题

  21. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

  22. num=num+1;

  23. subplot(2,3,num);

  24. mesh(X,Y,Z);

  25. axis([0 9 0 9 0 9]);%限定显示的范围

  26. xlabel('x轴');%x轴坐标

  27. ylabel('y轴');%y轴坐标

  28. zlabel('z轴');%z轴坐标

  29. title('http://blog.csdn.net/nuptboyzhb/ figure(2)');%标题

  30. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

  31. num=num+1;

  32. subplot(2,3,num);

  33. meshc(X,Y,Z);

  34. axis([0 9 0 9 0 9]);%限定显示的范围

  35. xlabel('x轴');%x轴坐标

  36. ylabel('y轴');%y轴坐标

  37. zlabel('z轴');%z轴坐标

  38. title('http://blog.csdn.net/nuptboyzhb/ figure(3)');%标题

  39. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

  40. num=num+1;

  41. subplot(2,3,num);

  42. surf(X,Y,Z);

  43. axis([0 9 0 9 0 9]);%限定显示的范围

  44. xlabel('x轴');%x轴坐标

  45. ylabel('y轴');%y轴坐标

  46. zlabel('z轴');%z轴坐标

  47. title('http://blog.csdn.net/nuptboyzhb/ figure(4)');%标题

  48. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

  49. num=num+1;

  50. subplot(2,3,num);

  51. meshz(X,Y,Z);

  52. axis([0 9 0 9 0 9]);%限定显示的范围

  53. xlabel('x轴');%x轴坐标

  54. ylabel('y轴');%y轴坐标

  55. zlabel('z轴');%z轴坐标

  56. title('http://blog.csdn.net/nuptboyzhb/ figure(5)');%标题

  57. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

  58. num=num+1;

  59. subplot(2,3,num);

  60. surf(X,Y,Z);

  61. hold on;

  62. stem3(X,Y,Z,'r');%画竖线

  63. axis([0 9 0 9 0 9]);%限定显示的范围

  64. xlabel('x轴');%x轴坐标

  65. ylabel('y轴');%y轴坐标

  66. zlabel('z轴');%z轴坐标

  67. title('http://blog.csdn.net/nuptboyzhb/ figure(6)');%标题

matlab 矩阵绘三维图

 

 

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));
    end
end
img(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;
end
if gray>=128&&gray<=170
    r=255/42*(gray-128);
end
return;
function g=GrayColorG(gray)
g=0;
if gray>=84&&gray<=170
    g=255;
end
if gray<=84
    g=255/84*gray;
end
if gray>=170&&gray<=255
    g=255/85*(255-gray);
end
return;
function b=GrayColorB(gray)
b=0;
if gray<=84
    b=255;
end
if gray>=84&&gray<=128
    b=255/44*(128-gray);
end
return;

函数的调用:

 

 
  1. [X,Y]=meshgrid(-2:0.01:2,-2:0.01:2);%生成坐标轴

  2. Z=2*X.*exp(-X.^2-Y.^2)+1;%Z是X,Y的函数

  3. graycolor(Z);

  4. title('http://blog.csdn.net/nuptboyzhb/');%标题

--------------------- 本文来自 amulet0703 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/susu_love/article/details/53322180?utm_source=copy