1 / 9
文档名称:

MATLAB计算可视化.docx

格式:docx   大小:348KB   页数:9页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

MATLAB计算可视化.docx

上传人:kunpengchaoyue 2022/11/14 文件大小:348 KB

下载得到文件列表

MATLAB计算可视化.docx

文档介绍

文档介绍:该【MATLAB计算可视化 】是由【kunpengchaoyue】上传分享,文档一共【9】页,该文档可以免费在线阅读,需要了解更多关于【MATLAB计算可视化 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。实验报告
实验3:二维和三维绘图
该实验作业设计教会学生基本的绘图操作(二维、三维、二维半),多层图、双y图和子图等的做法,图形的线型、轴等的控制。你会发现通过适当的可以很好的控制绘制出曲线或者曲面图以反映更加丰富的信息。
一、实验目的:



掌握绘制三维曲线的方法;
掌握绘制三维网格图和三维曲面图的方法;
二、实验内容
=sin(t),y2=sin(2t)y3=sin(3t),其中t=[010]。。1)看t的数据点个数对后面绘图的影响(如11个、51个等,大概多少曲线看着是连续曲线)。2)绘制线图,线型分别用实线、虚线、点划线,颜色粉笔使用红、绿、蓝,并且控制线的粗细为2。
%m
t=linspace(0,10,199);
y1=sin(t);
y2=sin(2*t);
y3=sin(3*t);
plot(t,y1,'r-','LineWidth',2);
holdon;
plot(t,y2,'g--','LineWidth',2);
holdon;
plot(t,y3,'b.-','LineWidth',2);
,在四个区间上分别绘制
鬥二0缶〔皿+血(5工+%/4)
四条曲线。,图框box的on和off,均要有图名(表明轴是normal还是tight,box是on还是off),x、y轴标注'x''y';且绘制的图形可以导出pdf矢量图和分辨率200dpi的tiff栅格图到当前目录(此要命令,不用插入图片到文档)。
x=linspace(0,12,9999);
y1=*exp(*x)+sin(5*x);
y2=*exp(*x)+sin(5*x+pi/4);
y3=*exp(*x)+sin(5*x+3*pi/4);
y4=*exp(*x)+sin(5*x+3*pi/4);
subplot(2,2,1),plot(x,y1,'y-')
%绘制2x2子图的第一张图
axis('tight'),title('tightboxoff')
%输出的图像轴为紧凑数据,图名为tightboxoff
boxoff%显示图形无四周边框
xlabel('x');%x轴名称为x
ylabel('y');%y轴名称为y
subplot(2,2,2),plot(x,y2,'r-')axis('normal'),title('normalboxoff')boxoffxlabel('x');
ylabel('y');
subplot(2,2,3),plot(x,y3,'g-')
axis('normal'),title('normalboxoff')boxoffxlabel('x');
ylabel('y');
subplot(2,2,4),plot(x,y4,'b-')
axis('normal'),title('normalboxoff')xlabel('x');
ylabel('y');
boxoff;
print('D:\MATLAB文件\','-dpdf','-loose')
%输出分辨率为pdf格式的矢量图像
print('D:\MATLAB文件\','-djpeg','-r900','-loose')
2

0
5
0
5
60
20
0
0
5
5
0L
0
tighttx>xoff
3讪诅盼
normalt)oxoff
normalboxoff
%输出分辨率为300dpi的jpeg栅格图像
,选择具体的命令绘制双y轴图。左侧绘制:二iI的蓝色
杆状图,右侧绘制=7-“,■的红色线图。
其中0St<2n,步长取n/20。
elf;%从当前图窗中删除其句柄未隐藏的所有图形对象
dt=pi/20;
t=:dt:2*pi+;
y1=t.*exp(-sin(t)./t);
yyaxisleft;%激活当前坐标区中与左侧y轴关联的一侧
stem(t,y1,'b');%将数据序列Y绘制为从沿x轴的基线延伸的针状图
text(pi/5,,'\fontsize{14}\ity1=te^{-sint/t}')
%向数据点添加文字说明
holdon;
yyaxisright;%激活当前坐标区中与右侧y轴关联的一侧
y2=eumtrapz(y1)*dt;
mm='{\fontsize{16}\int_{\fontsize{8}0}^{2n}}';%积分下限为
0,积分上限为2n
ss=['\fontsize{14}\ity2=',mm,'\fontsize{14}\itteA{-sint/t}dx'];
text(5*pi/4,15,ss)
plot(t,y2,'r');%红色线图
boxoff;
试绘制1X2子图,分别画柱形图和饼图,并说明图形的实际意义。
elf
y=[];
x=[1234];
xtieks([1,2,3,4])
subplot(1,2,1);
bar(x,y,,'r')%
xticklabels({'第一季度’,’第二季度’,’第三季度’,’第四季度’})
%设置当前坐标区的x轴刻度标签
boxoff;
title('2005年度各季度产值’);
xlabel('季度');
ylabel('单位/万元’);
subplot(1,2,2),plot(x,y,'g-');
%pie(y);
%X=categorical
name={'第一季度’,’第二季度’,’第三季度’,’第四季度’};
zhi=subplot(1,2,2);
pie(y,name)%绘制饼状图
title(zhi,'2005年度各季度产值’)
set(gcf,'Units','centimeters','Position',[66308]);%设置图片大小
在t=[010]和[0100]分别范围内绘制三维曲线
,有坐标轴标注分别为x、y、z,图标题为"3D
Curve",画出图形后尝试在图形窗口旋转曲线注意观察点视角的变化
clf
subplot(2,1,1)
t=linspace(0,10,999);
x=20.*exp(-t/15).*cos(t);
y=15.*exp(-t/15).*sin(t);
z=t;
plot3(x,y,z,'b-')%绘制三维图形
title('3DCurve')
view([-82,58])
%view(az,el)az是azimuth(方位角)
%el是elevation(仰角)的缩写,默认均以度为单位
boxon
subplot(2,1,2)
t=linspace(0,100,9999);
x=20.*exp(-t/15).*cos(t);
y=15.*exp(-t/15).*sin(t);
z=t;
plot3(x,y,z,'y.-')
title('3DCurve')
view([-69,45])
boxon
set(gcf,'Units','centimeters','Position',[6688]);%设置图片大小
1绘制.=::、.•的三维网格图和曲面图(mesh和surf)两个子图,x和y的绘图区间都在[-55]取值步长为1;2)要求分别使用faceted,flat,ir三种浓淡处理方式绘制surfc三个子图,并比较发生的变化。3)改变colormap,看不用默认colormap后发生的变化;4)加密步长,步长设为
,画contourf二维半图,画10条高度不同的等高线(无需标注数值),并添加色标显示数值对应的颜色变化(最后加一条命令colorbar
注意:该三维图是曲面,不是平面!
elf
x=-5:1:5;
y=-5:1:5;
[X,Y]=meshgrid(x,y);
%返回二维坐标
Z=5.*X.*Y;
subplot(2,1,1)
mesh(X,Y,Z)
boxon
subplot(2,1,2)
surf(X,Y,Z);
boxon
-5苗
-5
elf
subplot(3,1,1)surf(X,Y,Z)colormapwintershadingfacetedboxon
view([-68,26])subplot(3,1,2)surfc(X,Y,Z)
shadingflat
boxon
view([-68,26])
subplot(3,1,3)
surfc(X,Y,Z)
shadinginterp
boxon
view([-74,36])
set(gcf,'Units','centimeters','Position',[691515]);%设置图片大小
figure
n=10;
C=contourf(X,Y,Z,n,'k:');%画10条高度不同的等高线
%[C,h]=contourf(X,Y,Z,n,'k:');%标注
xlabel('x')
ylabel('y')
%clabel(C,h)标注与不加标注
colorbar%色标显示数值对应的颜色变化
:自己觉得重要或者有意义的MATLAB问题描述与解答。利用MATLAB可以s字无碳小车运动轨迹的仿真处理我们几点机电院每年都会有相关的工训竞赛,最终目的是为了让我们制作出一辆靠重力驱动的无碳小车,而不同的小车类型具有不同的运动轨迹,这次工训我们组是制作的s字无碳小车,但一直苦于无法模拟出运动轨迹,只能靠后期调试,在学****了MATLAB后觉得,MATLAB对小车运动轨迹可以进行完美地仿真显示,直观地表示了小车轨迹图。如代码所示,只要给特定的变量加以约束方式,利用plot的函数就能直接显示出来。这样可以提前预知模型是否正确,从理论上验证方案是否可行。这对我们工训的小车制作带来了极大的方便。
clear
clc
tic
%符号定义
%重物下降的高度h
%驱动轴转过角度sd2
%驱动轴传动比i
%转向轮轴心距b
%转向杆的长c
%转向轮转过的角度af
%驱动轮半径R
%驱动轮A与转向轮横向偏距al%驱动轮B与转向轮横向偏距a2%驱动轴与转向轮的距离d
%小车行驶的路程s
%小车x方向的位移x
%小车y方向的位移y
%轨迹曲率半径rou
%曲柄半径r1
%绳轮半径r2
%参数输入
n=1000;
h=linspace(0,,n);
i1=;
i2=;
R=;
%驱动轮A与转向轮横向偏距a1
a1=;
%驱动轮B与转向轮横向偏距a2
a2=;
%曲柄半径r1
r1=;
%绳轮半径r2
r0=;
%驱动轴与转向轮的距离d
d=;
%连杆与转向轮的距离c
c=;
%算法
g=-10;
sd0=h/r0;
sd1=sd0/i1;
sd2=sd0/i2;
af=atan(r1.*sin(sd2)/c);formatlong
rou=a1+(d)./(tan(af));
s=sd1*R;
ds=s(2)-s(1);dy=ds*cos(af);dx=-ds*sin(af);
x=cumsum(dx);
y=cumsum(dy);xb=x-(a1+a2).*cos(af);yb=y-(a1+a2).*sin(af);xc=x-a1*cos(af)-d*sin(af);yc=y-a1*sin(af)+d*cos(af);
plot(x,y,'b',xb,yb,'b',xc,yc,'r');holdongridonfori=1:20t=0::2*pi;
xy=.*cos(t)-;yy=.*sin(t)+i;
plot(xy,yy);
holdon
end
25
20
15
10
5
0
0
-
-
4).3