matlab技能2——关于一般图形的绘制

matlab除了它强大的计算能力之外,还有非常方便的地方就在于它的作图。在数学建模中,一个好的作图,会让我们的论文增色不少。所以我们今天来记录学习一下关于matlab中的作图的知识。

matlab技能2——关于一般图形的绘制_第1张图片
matlab系列

1)极坐标做图 polar

比如下文的四叶玫瑰图

 x=0:0.01:2*pi;
 r=cos(2*x);
 polar(x,r)
matlab技能2——关于一般图形的绘制_第2张图片
四叶玫瑰图

2)直方图 hist命令

x=rand(1,20); %随机生成20个不同的介于0和1之间的数字
 y=round(20*x); %最接近的整数
 subplot(1,2,1);  %图形分布设定。当前图片中图像排列1行两列,当前位置是第一个 从左到右,从上到下依次分布。
 hist(x);          %画x的直方图
 subplot(1,2,2)   %画当前位置的第二个图形
 hist(y)           %画y的直方图
matlab技能2——关于一般图形的绘制_第3张图片
直方图

3)二维图形绘图 plot命令

%基本样式
plot(x,y,color_point_linestyle)
% x是我们普通的x的向量,y也是对应的向量 
% color  颜色      r(red) g(green) b(blue) k(black) y(yellow)
% point  数据点样式 . 0 x + *  
% linestyle 线型   -  -.  --  :

如果写完之后继续对图像进行处理

hold on

然后进行更专业更细致的处理

title('My title') % 设置标题名字
xlabel(‘x轴’)      % x轴的展示变量
ylabel('y轴')       % y轴的展示变量
axis(x_min,x_max,y_min,y_max) % 选择坐标轴的定标尺度

还有两个命令

text (x,y,str) % 在图形的x,y点坐标展示str语句
gtext (str)    % 在我们图形的界面用鼠标来确定我们的位置

如果想让我们的坐标有箭头,请加上这两条语句(不用改数据,这样就比较完美~当然如果需要进行进一步的修改,自行help annotation进行查看~)

annotation('arrow',[0.132 0.132],[0.108 1]);
annotation('arrow',[0.132 1],[0.108 0.108]);

4)三维曲线 plot3命令

 t = 0:pi/50:10*pi;
 plot3(sin(t),cos(t),t)
matlab技能2——关于一般图形的绘制_第4张图片
三维曲线

5)网格作图 mesh(x,y,z)

 x=-3:0.1:3;y=-5:0.1:5;
 [x2,y2]=meshgrid(x,y);
 z2=(sin(x2.*y2)+eps)./(x2.*y2+eps);
 mesh(x2,y2,z2)
matlab技能2——关于一般图形的绘制_第5张图片
网格做图

6)图像绘制函数

ezplot(f(x),min,max)

7)函数图函数 fplot(fun ,limit)分段函数 用这个处理hi比较好

edit fun1.m

编写m文件,函数句柄

function y=fun1(x);
if x <1
    y=x+1;
else
    y=1+1/x;
end

调用函数

fplot('fun1',[-3,3])
matlab技能2——关于一般图形的绘制_第6张图片
分段函数

8)等高线 contour函数绘制平面等高线,contour 绘制控件等高线

 subplot(2,2,1)
 contour(linspace(1,10),linspace(1,10),rand(100,100)*10,[3])
 subplot(2,2,2)
 contour(linspace(1,10),linspace(1,10),rand(100,100)*10,[4])
 subplot(2,2,3)
 contour(linspace(1,10),linspace(1,10),rand(100,100)*10,[5])
 subplot(2,2,4)
 contour(linspace(1,10),linspace(1,10),rand(100,100)*10,[6])
matlab技能2——关于一般图形的绘制_第7张图片
等高线做图

9)如果想要图形的交点 先通过solve来获得我们需要的交点,然后用text在图形交点附近来进行显示。

matlab技能2——关于一般图形的绘制_第8张图片
text显示交点

10)显示图形标识

x = 0:.2:12;
 plot(x,besselj(1,x),x,besselj(2,x),x,besselj(3,x));
 legend('First','Second','Third','Location','NorthEastOutside')
matlab技能2——关于一般图形的绘制_第9张图片
显示图形标识

关于matlab的画图问题暂时就这些,以后如果用到其他的再进行补充~
如果大家有更好的建议,也欢迎留言或者私信我啊。咱们共同进步~

你可能感兴趣的:(matlab技能2——关于一般图形的绘制)