matlab除了它强大的计算能力之外,还有非常方便的地方就在于它的作图。在数学建模中,一个好的作图,会让我们的论文增色不少。所以我们今天来记录学习一下关于matlab中的作图的知识。
1)极坐标做图 polar
比如下文的四叶玫瑰图
x=0:0.01:2*pi;
r=cos(2*x);
polar(x,r)
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的直方图
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)
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)
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])
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])
9)如果想要图形的交点 先通过solve来获得我们需要的交点,然后用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的画图问题暂时就这些,以后如果用到其他的再进行补充~
如果大家有更好的建议,也欢迎留言或者私信我啊。咱们共同进步~