这次画一些在数学建模中比较实用的图,掌握了其中的画图技巧,在比赛时改变一些参数就可以套用了。
1、画极坐标图
clc;clear;clf;
theta=0:0.01:2*pi;
r=5-cos(10*theta);
polar(theta,r)
2、画多个输入参数的图像
在数学建模中经常会存在多个量的比较,这时就需要将每个量的数据直观的呈现在图上,方便比较每个量的差异。这里以输入不同三角函数比较。
clc;clear;clf;
x=linspace(0,2*pi,100);
plot(x,sin(x),x,2*sin(x),x,3*sin(x),x,4*sin(x),x,5*sin(x),x,6*sin(x),'linewidth',3)
legend('data 1','data 2','data 3','data 4','data 5','data 6') %图例
xlabel('\it x');ylabel('\it n*sin(x)') % \it 将标注斜体化
保留原图,增加对应函数的相反数,在原有函数基础上添加负号。
clc;clear;clf;
x=linspace(0,2*pi,100);
plot(x,sin(x),x,2*sin(x),x,3*sin(x),x,4*sin(x),x,5*sin(x),x,6*sin(x),'linewidth',3)
xlabel('\itx');ylabel('\it n*sin(x)')
hold on
plot(x,-sin(x),x,2*-sin(x),x,3*-sin(x),x,4*-sin(x),x,5*-sin(x),x,6*-sin(x),'linewidth',3)%相反数
legend('data 1','data 2','data 3','data 4','data 5','data 6')
绘制对应函数的绝对值图像。
3、绘制不同线性和颜色在同一坐标内绘制的曲线及其包络线(抄的)
首先介绍MATLAB中的提供的一些绘图选项,确定所绘曲线的颜色和数据点的标记符号,调用如表所示:
线型 |
颜色 |
标记符号 |
|
|
属性名称 |
描述 |
-实线 |
r红色 |
.点 |
v(字母v)朝下三角符号 |
|
LineWidth |
线的宽度 |
:虚线 |
g绿色 |
O(字母o)圆圈 |
s矩形 |
|
MarkerSize |
标记点的大小 |
.-点划线 |
b蓝色 |
x(字母x)叉 |
h六边形 |
|
MarkerEdgeColor |
标记点的的边缘颜色 |
--双划线 |
c青色 |
+加号 |
d菱形 |
|
MarkerFaceColor |
标记点的表面(填充)颜色 |
|
m品红 |
*星号 |
p五角星 |
|
|
|
|
y黄色 |
^朝上三角形 |
|
|
|
|
|
k黑色 |
>朝右三角符号 |
|
|
|
|
|
w白色 |
<朝左三角符号 |
|
|
|
|
clc;clear;clf;
x = (0:pi/100:2*pi)';
y1 = 2*exp(-0.5*x)*[1,-1];
y2 = 2*exp(-0.5*x).*sin(2*pi*x);
x1 = (0:12)/2;
y3 = 2*exp(-0.5*x1).*sin(2*pi*x1);
plot(x,y1,'k:',x,y2,'b--',x1,y3,'rp','linewidth',1.5)
4、设置标记点属性的应用
clc;clear;clf;
x = linspace(0,2*pi,50);
y = tan(sin(exp(pi*x)));
plot(x,y,'k:d','linewidth',3,...
'MarkerEdgeColor','k',... %设置标记点的边缘颜色为黑色
'MarkerFaceColor','r',... %设置标记点的填充颜色为红色
'MarkerSize',10)%设置标记点的尺寸为10
5、标注的应用
MATLAB中在图形上进行标注我知道的(两个够用了)有两种形式,分别是 text(x,y,'string')在图形指定坐标(x,y)增加标注string。gtext(‘string’)使用鼠标在屏幕上标注。这里以正弦余弦函数图像举例。
clc;clear;clf;
x=linspace(0,2*pi,100);
y1=sin(x);
y2=cos(x);
plot(x,y1,'k-',x,y2,'k-')
text(pi/1.06,0.2,'\leftarrow sin(\theta)') %根据图形来设置文本标记坐标参数
text(pi/5.5,0.2,'cos(\theta)\rightarrow')
title('sin(\theta)&cos(\theta)') %sin(x)前面加上‘\it’可以使三角函数变为斜体
%使用鼠标标注
gtext('\leftarrow sin(\theta)');
gtext('\leftarrow cos(\theta)'); %leftarrow左箭头 rightarrow右箭头
6、画出复杂函数,观察局部区域特点。
clc;clear;clf;
x=linspace(0,1,5000);
y=sin(cos(tan(exp(pi)*x)));
subplot(3,2,1)
plot(x,y)
title('\itsin(cos(tan(e^\pi*x)))')
subplot(3,2,2)
plot(x,y)
title('局部视图1')
axis([0 0.1 -1 1])
subplot(3,2,3)
plot(x,y)
title('局部视图2')
axis([0.1 0.3 -1 1])
subplot(3,2,4)
plot(x,y)
title('局部视图3')
axis([0.3 0.4 -1 1])
subplot(3,2,5)
plot(x,y)
title('局部视图4')
axis([0.4 0.6 -1 1])
subplot(3,2,6)
plot(x,y)
title('局部视图5')
axis([0.5 0.7 -1 1])
当遇到复杂的函数图像时,就可以利用axis( )限制坐标的范围,提取局部成像来分析。
最后再分享一下如何导出高清的图片,可以利用MATLAB中的函数exportgraphics()来导出图片。
exportgraphics(gcf,'图片名称.png','Resolution',600) %以600的分辨率保存到当前文件夹中
本次分享内容结束!!