MATLAB图形和3D可视化
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB图形和3D可视化MATLAB图形窗口
figure及其相关命令
figure命令用于显示图形窗口,其使用格式有如下两种
figure:不带参数的figure命令用于产生一个新的figure窗口,返回其句柄。
figure(H):如果句柄为H的figure窗口已经存在,此命令将其打开,并置为“当前”,即以后的图形操作,如不指明句柄,都是对这个figure进行的;若不存在,则打开一个figure窗口并且其句柄为H。
subplot及其相关命令
subplot可以将窗口分成若干小的窗口,每个小窗口相当于一个figure,在小窗口中可以像在整个窗口中一样进行绘图工作,其格式如下
subplot(m,n,i):把图形窗口分成m×n个小图形窗口,并指定第i个当前图形的绘制区域。
subplot(h):h 是所要设置成当前axes的句柄。(axes是一个横、纵坐标轴和一片区域的实体)
Subplot(‘position’,[left bottom width height]):在在指定位置的矩形区域中创建axes。
分屏幕绘图实例,程序如下
a1=axes; %定义句柄为a1的axes
set(a1,'position',[0.05 0.55 0.9 0.4]); %设置axes(a1)的位置
a2=axes; %定义句柄为a2的axes
set(a2,'position',[0.05 0.05 0.4 0.4]); %设置axes(a2)的位置
a3=axes; %定义句柄为a3的axes
set(a3,'position',[0.55 0.05 0.4 0.4]); %设置axes(a3)的位置
a=[1:200]*pi/100;
s=sin(a);
c=cos(a);
t=1+a.^2; %设置变量
axes(a1); %将axes(a1)置为当前
plot(a/pi,s); %在axes(a1)中绘图
axes(a2); %将axes(a2)置为当前
plot(a/pi,c); %在axes(a2)中绘图
axes(a3); %将axes(a3)置为当前
plot(a/pi,t); %在axes(a3)中绘图
程序运行结果如下
另外,上图也可用以下命令得到
a=[1:200]*pi/100;
s=sin(a);
c=cos(a);
t=1+a.^2; %设定计算变量
subplot('position',[0.05 0.55 0.9 0.4]); %设定当前绘图区域plot(a/pi,s); %绘图
subplot('position',[0.05 0.05 0.4 0.4]); %设定当前绘图区域plot(a/pi,c); %绘图
subplot('position',[0.55 0.05 0.4 0.4]); %设定当前绘图区域plot(a/pi,t); %绘图
注:将图形置为当前的方法,有以下三种
1、用鼠标单击图形
2、用命令subplot指定图形所在的行和列
3、结合subplot和各个子图的轴的句柄指定图形
hold及其相关命令
当hold开关on时,后面的plot()命令不会覆盖前面plot()命令的输出结果,而是叠加原来的图形上。
使用带on或者off的hold命令强制设置hold状态。示例如下
a=[1:200]*pi/100;
s=sin(a);
c=cos(a);
t=(1+a.*a-20)/40;
a=a/pi;
hold on
plot(a,s,'r-');
plot(a,c,'g:');
plot(a,t,'b-');
运行结果如下
二维曲线图形
二维图形的绘制函数有曲线函数、条形图函数、直方图函数和扇形图函数曲线函数
调用格式如下:
plot(x,’s’):若x为向量,则表示以向量元素下标为横坐标、元素值为纵坐标,所绘的一条连续曲线;若x为实矩阵,则表示按照列绘制每列元素值相对其下标的曲线,图中曲线数等于x矩阵列数。
plot(x,y,’s’):x、y为同维向量时,绘制以x、y元素为横、纵坐标的曲线。
plot(x1,y1,’s1’,x2,y2,’s2’…):每个“三元组”(x,y,’s’)的结构和作用与plot(x,y,’s’)相同
示例如下
x=0:0.02:20;
y=sin(x);
z=cos(x);
w=[y;z];
plot(x,w)
xlabel('x axis')
ylabel('y axis')
运行结果如下
条形图命令
多用于统计
bar命令包含以下四种函数:
bar():竖直条形图
barh():水平条形图
bar3():三维竖直条形图
bar3h():三维水平条形图
这些函数的调用方式类似,以函数bar()为例,其调用方法如下
bar(y):
bar(x,y):x横坐标向量,y可以是向量或矩阵。若y是向量时,每个元素对应一个竖条;若y是m×n的矩阵,将画出m组竖条,每组包括n个条。
bar(x,y,width):用width产生线条的宽度,默认宽度为0.8。
bar(…,’grouped’):产生组合的条形图
bar(…,’stacked’):产生堆叠的条形图
示例如下,某城市一年12月份平均气温数据,编写条形图
x=1:12;
y=[-10,-6,6,11,21,27,34,31,20,15,9,2;-13,-15,-2,7,17,20,27,21,14,13,10,-4];
y=y'; %矩阵y的转置
colormap(cool)
subplot(2,1,1)
bar(x,y,'grouped')
subplot(2,1,2)
bar(x,y,'stacked')
运行结果如下