搜档网
当前位置:搜档网 › MATLAB计算可视化

MATLAB计算可视化

MATLAB计算可视化
MATLAB计算可视化

实验报告

实验3: 二维和三维绘图

该实验作业设计教会学生基本的绘图操作(二维、三维、二维半),多层图、双y图和子图等的做法,图形的线型、轴等的控制。你会发现通过适当的可以很好的控制绘制出曲线或者曲面图以反映更加丰富的信息。

一、实验目的:

1.掌握MATLAB基本的二维图形绘制函数。

2.掌握坐标轴的控制。

3.掌握图形的标注。

4. 掌握绘制三维曲线的方法;

5. 掌握绘制三维网格图和三维曲面图的方法;

二、实验内容

1.用 hold on 命令在同一图形窗口绘制曲线 y1=sin(t),y2=sin(2t) y3=sin(3t),其中 t=[0 10]。创建.m文件。 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);

hold on;

plot(t,y2,'g--','LineWidth',2);

hold on;

plot(t,y3,'b.-','LineWidth',2);

2.要求绘制2行2列的子图,在四个区间上分别绘制

, , ,

四条曲线。,图框box的on和off,均要有图名(表明轴是normal还是tight,box是on还是off),x、y轴标注'x''y';且绘制的图形可以导出pdf矢量图和分辨率200dpi 的tiff栅格图到当前目录(此要命令,不用插入图片到文档)。

x=linspace(0,12,9999);

y1=0.1*exp(0.1*x)+sin(5*x);

y2=0.2*exp(0.2*x)+sin(5*x+pi/4);

y3=0.3*exp(0.3*x)+sin(5*x+3*pi/4);

y4=0.4*exp(0.4*x)+sin(5*x+3*pi/4);

subplot(2,2,1),plot(x,y1,'y-')

%绘制2x2子图的第一张图

axis('tight'),title('tight box off')

%输出的图像轴为紧凑数据,图名为tight box off

box off%显示图形无四周边框

xlabel('x'); %x轴名称为x

ylabel('y'); %y轴名称为y

subplot(2,2,2),plot(x,y2,'r-')

axis('normal'),title('normal box off')

box off

xlabel('x');

ylabel('y');

subplot(2,2,3),plot(x,y3,'g-')

axis('normal'),title('normal box off')

box off

xlabel('x');

ylabel('y');

subplot(2,2,4),plot(x,y4,'b-')

axis('normal'),title('normal box off')

xlabel('x');

ylabel('y');

box off;

print('D:\MATLAB文件\p.pdf','-dpdf','-loose')

%输出分辨率为pdf格式的矢量图像

print('D:\MATLAB文件\j.jpeg','-djpeg','-r900','-loose')

%输出分辨率为300dpi的jpeg栅格图像

3. 根据MATLAB绘图环境,选择具体的命令绘制双y轴图。左侧绘制的蓝色杆状图,右侧绘制的红色线图。

其中0≤t≤2π,步长取π/20。

clf; %从当前图窗中删除其句柄未隐藏的所有图形对象

dt=pi/20;

t=0.1:dt:2*pi+0.1;

y1=t.*exp(-sin(t)./t);

yyaxis left ; %激活当前坐标区中与左侧 y 轴关联的一侧

stem(t,y1,'b'); %将数据序列 Y 绘制为从沿 x 轴的基线延伸的针状图

text(pi/5,3.8,'\fontsize{14}\ity1=te^{-sint/t}')

%向数据点添加文字说明

hold on;

yyaxis right ; %激活当前坐标区中与右侧 y 轴关联的一侧

y2=cumtrapz(y1)*dt;

mm='{\fontsize{16}\int_{\fontsize{8}0}^{ 2π}}'; %积分下限为0,积分上限为2π

ss=['\fontsize{14}\ity2=',mm,'\fontsize{14}\itte^{-sint/t}dx'];

text(5*pi/4,15,ss)

plot(t,y2,'r'); % 红色线图

box off;

4. 某工厂2005年度各季度产值(单位:万元)分别为:37

5.9、450.6、410.2、480.9,试绘制1X2子图,分别画柱形图和饼图,并说明图形的实际意义。

clf

y=[375.9 450.6 410.2 480.9];

x=[1 2 3 4];

xticks([1, 2, 3, 4])

subplot(1,2,1);

bar(x, y, 0.3, 'r') %绘制宽度为0.3的直方图

xticklabels({'第一季度', '第二季度', '第三季度', '第四季度'})

%设置当前坐标区的 x 轴刻度标签

box off;

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',[6 6 30 8]);%设置图片大小

5. 在t=[0 10]和[0 100]分别范围内绘制三维曲线

,有坐标轴标注分别为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('3D Curve')

view([-82, 58])

% view(az, el) az是azimuth(方位角)

% el是elevation(仰角)的缩写,默认均以度为单位

box on

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('3D Curve')

view([-69, 45])

box on

set(gcf,'Units','centimeters','Position',[6 6 8 8]);%设置图片大小

6. 1)绘制的三维网格图和曲面图(mesh和surf)两个子图,x和y的绘图区间都在[-5 5],取值步长为1;2)要求分别使用faceted, flat, interp三种浓淡处理方式绘制surfc 三个子图,并比较发生的变化。3)改变colormap,看不用默认colormap后发生的变化;

4)加密步长,步长设为0.1,画contourf二维半图,画10条高度不同的等高线(无需标注数值),并添加色标显示数值对应的颜色变化(最后加一条命令colorbar)

注意:该三维图是曲面,不是平面!

clf

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)

box on

subplot(2,1,2)

surf(X,Y,Z);

box on

clf

subplot(3,1,1)

surf(X,Y,Z)

colormap winter

shading faceted

box on

view ([-68,26])

subplot(3,1,2)

surfc(X,Y,Z)

shading flat

box on

view ([-68,26])

subplot(3,1,3)

surfc(X,Y,Z)

shading interp

box on

view ([-74,36])

set(gcf,'Units','centimeters','Position',[6 9 15 15]);%设置图片大小

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 %色标显示数值对应的颜色变化

7. 附加:矩阵赋值给for循环变量测试,可以尝试调试看看过程一步步怎样运行的。

s = 0;

M = [ 1 3 3 4; 5 7 7 8; 9 11 11 12 ]

M = 3×4

1 3 3 4

5 7 7 8

9 11 11 12

for k = M

s = s + k ;

end

s %M矩阵行元素之和

s = 3×1

11

27

43

8. 附加:自己觉得重要或者有意义的MATLAB问题描述与解答。

利用MATLAB可以s字无碳小车运动轨迹的仿真处理

我们几点机电院每年都会有相关的工训竞赛,最终目的是为了让我们制作出一辆靠重力驱动的无碳小车,而不同的小车类型具有不同的运动轨迹,这次工训我们组是制作的s字无碳小车,但一直苦于无法模拟出运动轨迹,只能靠后期调试,在学习了MATLAB后觉得,MATLAB 对小车运动轨迹可以进行完美地仿真显示,直观地表示了小车轨迹图。如代码所示,只要给特定的变量加以约束方式,利用plot的函数就能直接显示出来。这样可以提前预知模型是否正确,从理论上验证方案是否可行。这对我们工训的小车制作带来了极大的方便。clear

clc

tic

%符号定义

%重物下降的高度h

%驱动轴转过角度sd2

%驱动轴传动比i

%转向轮轴心距b

%转向杆的长c

%转向轮转过的角度af

%驱动轮半径R

%驱动轮A与转向轮横向偏距a1 %驱动轮B与转向轮横向偏距a2 %驱动轴与转向轮的距离d

%小车行驶的路程s

%小车x方向的位移x

%小车y方向的位移y

%轨迹曲率半径rou

%曲柄半径r1

%绳轮半径r2

%参数输入

n=1000;

h=linspace(0,0.4,n);

i1=0.5;

i2=1.05;

R=0.16;

%驱动轮A与转向轮横向偏距a1 a1=0.08;

%驱动轮B与转向轮横向偏距a2 a2=0.08;

%曲柄半径r1

r1=0.02;

%绳轮半径r2

r0=0.006;

%驱动轴与转向轮的距离d

d=0.2;

%连杆与转向轮的距离c

c=0.04;

%算法

g=-10;

sd0=h/r0;

sd1=sd0/i1;

sd2=sd0/i2;

af=atan(r1.*sin(sd2)/c); format long

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'); hold on

grid on

for i=1:20

t=0:0.01:2*pi;

xy=0.01.*cos(t)-0.23;

yy=0.01.*sin(t)+i;

plot(xy,yy);

hold on

end

科学计算与MATLAB语言考试答案

1 单选(2分) 利用MATLAB求解科学计算问题的优势是()。 得分/总分 ? A. 算法最优 ? B. 不需要编写程序 ? C. 程序执行效率高 ? D. 编程效率高 正确答案:D你没选择任何选项 2 单选(2分) 在MATLAB命令行窗口输入命令时,可使用续行符,其写法是()。 得分/总分 ? A. 省略号(…) ? B. 分号(;) ? C. 三个小数点(…) ? D. 百分号(%) 正确答案:C你没选择任何选项 3

下列语句执行后,D的值为()。 1.A=[1:3;4:6]; 2.D=sub2ind(size(A),[1,1],[2,3]) 得分/总分 ? A. 3 6 ? B. 2 5 ? C. 3 5 ? D. 4 5 正确答案:C你没选择任何选项 4 单选(2分) ceil(-2.1)+floor(-2.1)+fix(-2.1)的结果为()。 得分/总分 ? A. -7 ? B. -6 ? C. -5 ? D. -9 正确答案:A你没选择任何选项 5

下列语句执行后,x的值是()。 1.log=1:5; 2.x=log(1) 得分/总分 ? A. ? B. 1 ? C. 数学常数e ? D. 报错 正确答案:B你没选择任何选项 6 单选(2分) 下列语句执行后,c的值是()。 1.ch=['abcdef';'123456']; 2.c=char(ch(2,4)-1) 得分/总分 ? A. '4' ? B. 4 ? C. '3' ? D. 3

7 单选(2分) 产生和A同样大小的全0矩阵的函数是()。 得分/总分 ? A. zero(size(A)) ? B. zeros(size(A)) ? C. size(zero(A)) ? D. size(zeros(A)) 正确答案:B你没选择任何选项 8 单选(2分) 语句x=speye(5)==eye(5)执行后,则下列说法中正确的是()。 得分/总分 ? A. x是5阶全1矩阵,且采用稀疏存储方式 ? B. x是5阶全1矩阵,且采用完全存储方式 ? C. x是5阶单位矩阵,且采用稀疏存储方式 ? D. x是5阶单位矩阵,且采用完全存储方式

MATLAB精通科学计算_偏微分方程求解

一、Maple V 系统 Maple V是由Waterloo大学开发的数学系统软件,它不但具有精确的数值处理功能,而且具有无以伦比的符号计算功能。Maple V的符号计算能力还是MathCAD和MATLAB等软件的符号处理的核心。Maple提供了2000余种数学函数,涉及范围包括:普通数学、高等数学、线性代数、数论、离散数学、图形学。它还提供了一套内置的编程语言,用户可以开发自己的应用程序,而且Maple自身的2000多种函数,基本上是用此语言开发的。 Maple采用字符行输入方式,输入时需要按照规定的格式输入,虽然与一般常见的数学格式不同,但灵活方便,也很容易理解。输出则可以选择字符方式和图形方式,产生的图形结果可以很方便地剪贴到Windows应用程序内。 二、MATLAB 系统 MATLAB原是矩阵实验室(Matrix Laboratory)在70年代用来提供Linpack和Eispac k软件包的接口程序,采用C语言编写。从80年代出现3.0的DOS版本,逐渐成为科技计算、视图交互系统和程序语言。MATLAB可以运行在十几个操作平台上,比较常见的有基于W indows 9X/NT、OS/2、Macintosh、Sun、Unix、Linux等平台的系统。 MATLAB程序主要由主程序和各种工具包组成,其中主程序包含数百个内部核心函数,工具包则包括复杂系统仿真、信号处理工具包、系统识别工具包、优化工具包、神经网络工具包、控制系统工具包、μ分析和综合工具包、样条工具包、符号数学工具包、图像处理工具包、统计工具包等。而且5.x版本还包含一套几十个的PDF文件,从MATLAB的使用入门到其他专题应用均有详细的介绍。 MATLAB是数值计算的先锋,它以矩阵作为基本数据单位,在应用线性代数、数理统计、自动控制、数字信号处理、动态系统仿真方面已经成为首选工具,同时也是科研工作人员和大学生、研究生进行科学研究的得力工具。MATLAB在输入方面也很方便,可以使用内部的E ditor或者其他任何字符处理器,同时它还可以与Word6.0/7.0结合在一起,在Word的页面里直接调用MATLAB的大部分功能,使Word具有特殊的计算能力。 三、MathCAD 系统 MathCAD是美国Mathsoft公司推出的一个交互式的数学系统软件。从早期的DOS下的1. 0和Windows下的4.0版本,到今日的8.0版本,功能也从简单的数值计算,直至引用Map le强大的符号计算能力,使得它发生了一个质的飞跃。 MathCAD是集文本编辑、数学计算、程序编辑和仿真于一体的软件。MathCAD7.0 Profe ssional(专业版)运行在Win9X/NT下,它的主要特点是输入格式与人们习惯的数学书写格式很近似,采用WYSWYG(所见所得)界面,特别适合一般无须进行复杂编程或要求比较特殊的计算。MathCAD 7.0 Professional 还带有一个程序编辑器,对于一般比较短小,或者要求计算速度比较低时,采用它也是可以的。这个程序编辑器的优点是语法特别简单。 MathCAD可以看作是一个功能强大的计算器,没有很复杂的规则;同时它也可以和Wor d、Lotus、WPS2000等字处理软件很好地配合使用,可以把它当作一个出色的全屏幕数学公式编辑器。 四、Mathematica 系统 Mathematica是由美国物理学家Stephen Wolfram领导的Wolfram Research开发的数学系统软件。它拥有强大的数值计算和符号计算能力,在这一方面与Maple类似,但它的符

实验五_MATLAB计算的可视化

实验五 MATLAB 计算的可视化(一) 实验目的 1. 熟练掌握MATLAB 二维曲线的绘制 2.掌握图形的修饰 3.掌握三维图的绘制 4.了解各种特殊图形的绘制 内容与步骤 1.在同一幅图形窗口中分别绘制y1=sin(t)和y2=cos(t)二条函数曲线,t 的取值范围为[0,10]。y1用红色虚线表示,y2用蓝色实线表示,横坐标轴名称为“时间t ”,纵坐标轴名称为“正弦、余弦”,整个图形的标题为“正弦和余弦曲线”。在坐标(1.7*pi ,-0.3)处添加文字“sin(t)”, 在坐标(1.6*pi ,0.8)处添加文字“cos(t)”,并在右上角添加图例,其运行界面图如下图所示。之后并尝试修改坐标轴刻度。 2.用subplot 命令在同一个窗口的不同子窗口绘制曲线y=sin(t),y1=sin(t+0.25) y2=sin(t+0.5),其中t=[0 10]。 3.绘制三维曲线:?? ? ??=≤≤==)cos()sin()200() cos()sin(t t t z t t y t x π (注意:用plot3命令) 4.三维网线图:绘制z=sin(y)cos(x) 三维网线图。 5. 三维曲面图 绘制22y x z +=的三维曲面图,x 在[-5,5]范围,y 在[-5,5]范围。将曲面图颜色用shading 命令连续变化,并用颜色标尺显示色图(使用函数colorbar 生成)。生成的图形如下图所示。

6.请绘制一个饼形图,数据如下表所示 7. 用semilogx命令绘制传递函数为1//(s+1)(0.5s+1)的对数幅频特性曲线,横坐标为w,纵坐标为Lw,w的范围为10-2-103,按对数分布。

科学计算与MATLAB语言(第四课)

第四讲绘图功能

作为一个功能强大的工具软件,Matlab 具有很强的图形处理功能,提供了大量的二维、三维图形函数。由于系统采用面向对象的技术和丰富的矩阵运算,所以在图形处理方面即常方便又高效。

4.1 二维图形 一、plot函数 函数格式:plot(x,y)其中x和y为坐标向量函数功能:以向量x、y为轴,绘制曲线。【例1】在区间0≤X≤2 内,绘制正弦曲线Y=SIN(X),其程序为: x=0:pi/100:2*pi; y=sin(x); plot(x,y)

一、plot函数 【例2】同时绘制正、余弦两条曲线Y1=SIN(X)和Y2=COS(X),其程序为: x=0:pi/100:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,x,y2) plot函数还可以为plot(x,y1,x,y2,x,y3,…)形式,其功能是以公共向量x为X轴,分别以y1,y2,y3,…为Y轴,在同一幅图内绘制出多条曲线。

一、plot函数 (一)线型与颜色 格式:plot(x,y1,’cs’,...) 其中c表示颜色,s表示线型。 【例3】用不同线型和颜色重新绘制例4.2图形,其程序为:x=0:pi/100:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,'go',x,y2,'b-.') 其中参数'go'和'b-.'表示图形的颜色和线型。g表示绿色,o表示图形线型为圆圈;b表示蓝色,-.表示图形线型为点划线。

一、plot函数 (二)图形标记 在绘制图形的同时,可以对图形加上一些说明,如图形名称、图形某一部分的含义、坐标说明等,将这些操作称为添加图形标记。 title(‘加图形标题'); xlabel('加X轴标记'); ylabel('加Y轴标记'); text(X,Y,'添加文本');

中南大学材料学院科学计算与MATLAB考试题库

练习题 1.求函数在指定点的数值导数 x=sym('x'); >> y=[x x.^2 x.^3;1 2*x 3*x.^2;0 2 6*x]; >> x=1; >> eval(diff(y)) ans = 1 2 3 0 2 6 0 0 6 >> x=2; >> eval(diff(y)) ans = 1 4 12 0 2 12 0 0 6 >> x=3; >> eval(diff(y)) ans = 1 6 27 0 2 18 0 0 6 2.求下列函数导数 (1) x=sym('x'); >> y=x^10+10^x+(log(10))/log(x); >> diff(y) ans = 10*x^9+10^x*log(10)-2592480341699211/1125899906842624/log(x)^2/x (2) x=sym('x');

>> y=log(1+x); >> x=1; >> eval(diff(y,2)) %在x=1的条件下对y表达式求两次导数后导函数的值 ans = -0.2500 3.用数值方法求下列积分 首先先讲一下trapz的用法,如下题 t=0:0.001:1; >> y=t; >> trapz(t,y) ans = 0.5000 (1) >> x=1:0.01:5; >> y=(x.^2).*sqrt(2*x.^2+3); >> trapz(x,y) ans = 232.8066 (2) x=pi/4:0.01:pi/3; >> y=x./(sin(x).^2); >> trapz(x,y) ans = 0.3810 第三题拟合曲线题 x=[0:0.1:1]; >> y=[-0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2]; >> a=polyfit(x,y,2); >> x=[0.05:0.2:1.05]; >> y=a(3)+a(2)*x+a(1)*x.^2 %注意x要在y前先赋值,不然y不会运行为最新的x对呀的y值 y =

《Matlab与科学计算》作业 2010010099

《Matlab与科学计算》作业 第一章MATLAB环境 1、MATLAB通用操作界面窗口包括哪些?命令窗口、历史命令窗口、当前目录窗口、工作空间窗口各有哪些功能? 答:MATLAB通用操作界面窗口包括:命令窗口、历史命令窗口、当前目录浏览器窗口、工作空间窗口、变量编辑器窗口、M文件编辑/调试器窗口、程序性能剖析窗口、MATLAB帮助。 命令窗口是MATLAB命令操作的最主要窗口,可以把命令窗口当做高级的“草稿纸”。在命令窗口中可以输入各种MATLAB的命令、函数和表达式,并显示除图形外的所有运算结果。 历史命令窗口用来记录并显示已经运行过的命令、函数和表达式,并允许用户对它们进行选择、复制和重运行,用户可以方便地输入和修改命令,选择多行命令以产生M文件。 当前目录窗口用来设置当前目录,可以随时显示当前目录下的M、MKL等文件的信息,扬文件类型、文件名、最后个修改时间和文件的说明信息等,并可以复制、编辑和运行M文件及装载MAT数据文件。 工作空间窗口用来显示所有MATLAB工作空间中的变量名、数据结构、类型、大小和字节数。 2、熟悉课本中表格1.4、1.5、1.6、1.7、1.8的内容。 3、如何生成数据文件?如何把数据文件中的相关内容输入到工作空间中,用实例进行操作。 生成数据文件:

把数据文件中的相关内容输入到工作空间中: 结果: 4、在工作空间中可以通过哪些命令管理变量,写出每种语法的具体操作过程。答:(1)把工作空间中的数据存放到MAT数据文件。 语法:save filename 变量1 变量2 ……参数。 (2)从数据文件中取出变量存放到工作空间。 语法:load filename 变量1 变量2 ……。

《MATLAB与科学计算》期末论文

盐城师范学院《MATLAB与科学计算》期末论文 2016-2017学年度第一学期 用MATLAB解决解析几何的图形问题 学生姓名吴梦成 学院数学与统计学院 专业信息与计算科学 班级数15(5)信计 学号 15213542

用MATLAB 解决解析几何的图形问题 摘 要 将 MATLAB 的图形和动画功能都用于解析几何教学,可使教学形象生动。以图形问题为例,详细给出了实例的程序编写和动画实现过程 。在解析几何教学中有一定的应用价值。 【关键词】: MATLAB ; 解析几何 ;图形 ; 动 画;编程 1 引 言 在解析几何的教学中,使用传统的教学方法。许多曲线及曲面的形成过程与变换过程只通过传统的教师讲授静态图示就很难形象生动地表示出来 。在解析几何教学中使用MATLAB 软件辅助教学,不仅可以很容易绘制出复杂的立体图形。把曲线、曲面的形成和变化过程准确地模拟出来 ,而且还能够对它们进行翻转 、旋转 ,甚 至还能够轻而易举地实现图形的动画效果!这对提高教学效率和培养学生的空间想象能力可起到事半功倍的效果。下面结合实例从几个方面说明MATLAB 在解析几何画图方面的应用。 2 利用 MATLAB 绘制三维曲线 在空间解析几何中,各种曲线和曲面方程的建立都离不开图形 ,而空间曲线和曲面图形既难画又费时。借助MATLAB 的绘图功能 ,可以快捷 、 准确地绘出图形,使教学变得形象 、生动 。有利于学生观察三维空间图形的形状 , 掌握图形的性质 。 一 般地 ,MATLAB 可用plot3,ezplot3,comet3等函数来各种三维曲线 。 例如画螺旋曲线的图形,其参数方程设为 :t at cos x =,t b sin t y -=,ct =z 。使用 plot3语句画螺旋曲线图形的方法如下( 设a =2 ,b=4,c=3): );*3),sin(*.*4),cos(*.*2(3;*10:50/:0t t t t t plot pi pi t -= MATLAB 用两条简单的语句就可以画出螺旋 曲线(图1),但上述方法是静态的 ,为了体

科学计算与MATLAB 1.5

单元测验已完成成绩:100.0分 1 【单选题】 MATLAB一词来自()的缩写。 ?A、 Mathematica Laboratory ?B、 Matrix Laboratory ?C、 MathWorks Lab ?D、 Matrices Lab 我的答案:B得分:50.0分 2 【单选题】 下列选项中能反应MATLAB特点的是()。?A、 算法最优 ?B、 不需要写程序 ?C、 程序执行效率高 ?D、 编程效率高

我的答案:D得分:50.0分 单元测验已完成成绩:96.4分 1 【单选题】 当在命令行窗口执行命令时,如果不想立即在命令行窗口中输出结果,可以在命令后加上()。 ?A、 冒号(:) ?B、 逗号(,) ?C、 分号(;) ?D、 百分号(%) 我的答案:C得分:7.1分 2 【单选题】 fix(264/100)+mod(264,10)*10的值是()。 ?A、 86 ?B、 62 ?C、 423

?D、 42 我的答案:D得分:7.1分 3 【单选题】 在命令行窗口输入下列命令后,x的值是()。 >> clear >> x=i*j ?A、 不确定 ?B、 -1 ?C、 1 ?D、 i*j 我的答案:B得分:7.1分 4 【单选题】 使用语句x=linspace(0,pi,6)生成的是()个元素的向量。?A、 8 ?B、 7

?C、 6 ?D、 5 我的答案:C得分:7.1分 5 【单选题】 ceil(-2.1)的结果为()。?A、 -2 ?B、 -3 ?C、 1 ?D、 2 我的答案:A得分:7.1分 6 【单选题】 eval('sqrt(4)+2')的值是()。?A、 sqrt(4)+2 ?B、

实验4、matlab的计算可视化和GUI设计

p345 subplot(2,2,1) t1=0:0.1:2; y1=sin(2*pi*t1); plot(t1,y1); title('y=sin(2\pit)') 练习: subplot(2,2,2) t2=0:0.1:2; y2=[exp(-t2);exp(-2*t2);exp(-3*t2)]; plot(t2,y2) axis([0 2 -0.2 1.2]); title('y=e-t,y=e-2t,y=e-3t') 练习: subplot(2,2,3); t3=[0 1 1 2 2 3 4]; y3=[0 0 2 2 0 0 0]; plot(t3,y3); axis([0 4 -0.5 3]); title('脉冲信号') 练习: subplot(2,2,4); t4=0:0.1:2*pi; plot(sin(t4),cos(t4));

axis([-1.2 1.2 -1.2 1.2]); axis equal; title('圆') 练习: P346 x=0:0.1:20; zeta=0 y1=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt( 1-zeta^2)*x+acos(zeta)); plot(x,y1) zeta=0.3; y2=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt( 1-zeta^2)*x+acos(zeta)); hold on plot(x,y2,'r:') zeta=0.5; y3=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt( 1-zeta^2)*x+acos(zeta)); plot(x,y3,'g*') zeta=0.707; y4=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt( 1-zeta^2)*x+acos(zeta)); plot(x,y4,'m-') title('二阶系统曲线') legend('\zeta=0','\zeta=0.3','\zeta=0.5','\zeta=0. 707') grid on gtext('\zeta=0') gtext('\zeta=0.3') gtext('\zeta=0.5') gtext('\zeta=0.707') ginput(3) zeta = ans = 2.6037 0.9035 13.1106 2.0029 4.2166 1.0380 P347 h_fig=gcf h_axis=gca h_line1=gco h_title=get(gca,'title') h_text2=findobj(h_fig,'string','\zeta=0.3') h_fig = 1 h_axis = 151.0018 h_line1 = 1 h_title = 152.0018 h_text2 = Empty matrix: 0-by-1 set(h_line1,'linewidth',5)

科学计算与matlab1.5

单元测验已完成成绩:分 1 【单选题】 MATLAB一词来自()的缩写。 A、 Mathematica Laboratory B、 Matrix Laboratory C、 MathWorks Lab D、 Matrices Lab 我的答案:B得分:分 2 【单选题】 下列选项中能反应MATLAB特点的是()。 A、 算法最优 B、 不需要写程序 C、 程序执行效率高 D、 编程效率高

我的答案:D得分:分 单元测验已完成成绩:分 1 【单选题】 当在命令行窗口执行命令时,如果不想立即在命令行窗口中输出结果,可以在命令后加上()。 A、 冒号(:) B、 逗号(,) C、 分号(;) D、 百分号(%) 我的答案:C得分:分 2 【单选题】 fix(264/100)+mod(264,10)*10的值是()。 A、 86 B、 62 C、 423 D、

42 我的答案:D得分:分 3 【单选题】 在命令行窗口输入下列命令后,x的值是()。 >> clear >> x=i*j A、 不确定 B、 -1 C、 1 D、 i*j 我的答案:B得分:分 4 【单选题】 使用语句x=linspace(0,pi,6)生成的是()个元素的向量。 A、 8 B、 7 C、 6

D、 5 我的答案:C得分:分 5 【单选题】 ceil的结果为()。 A、 -2 B、 -3 C、 1 D、 2 我的答案:A得分:分 6 【单选题】 eval('sqrt(4)+2')的值是()。 A、 sqrt(4)+2 B、 4 C、 2 D、

2+2 我的答案:B得分:分 7 【单选题】 已知a为3×5矩阵,则执行完a(:,[2,4])=[]后()。 A、 a变成行向量 B、 a变为3行2列 C、 a变为3行3列 D、 a变为2行3列 我的答案:C得分:分 8 【单选题】 在命令行窗口输入以下命令 >> A=[1:3;4:6]; >> D=sub2ind(size(A),[1,1],[2,3]) D的值为()。 A、 3 6 B、 2 5 C、 4 5

Matlab与科学计算样题(加主观题答案)

Matlab 与科学计算考试样题(客观题) 1 下面的MATLAB 语句中正确的有: a) 2a =pi 。 b) record_1=3+4i c) a=2.0, d) c=1+6j 2. 已知水的黏度随温度的变化公式如下,其中a=0.03368,b=0.000221,计算温度t 为20,30,40度时的粘度分别是: 2 1at bt μμ=++0μ为0℃水的黏度,值为31.78510-?;a 、b 为常数,分别为0.03368、0.000221。 3. 请补充语句以画出如图所示的图形: [x,y]=meshgrid(-2:0.1:2, -2:0.1:2)。 Z=x.*exp(-x.^2-y.^2)。 。 a) Plot3(x,y,Z) b) plot3(x,y,Z) c) mesh(x,y,Z) d) plot3(x,y,z) 2 a) 0.4900 1.2501 0.8560 b) 0.8560 1.2501 0.4900 c) -0.6341 3.8189 -3.7749 d) 3.8189 -3.7749 2.8533 解释说明:

>> x=0.5:0.5:3.0。 >> y=[1.75,2.45,3.81,4.80,8.00,8.60]。 >> a=polyfit(x,y,2) a = 0.4900 1.2501 0.8560 >> x1=[0.5:0.25:3.0]。 >> y1=a(1)*x1.^2+a(2)*x1+a(3) >> plot(x,y,'*') >> hold on >> plot(x1,y1,'--r') 5. 求方程在 x=0.5附近的根. 21 x x += a) 0.6180 b) -1.1719e-25 c) -1 d) -1.6180 6. 用Newton-Cotes方法计算如下积分 1 5 x? (a)133.6625 (b)23.8600 (c) 87.9027 (d) -1.6180 7. y=ln(1+x),求x=1时y" a) -0.25 b) 0.5 c) -0.6137 d) -1.6137 8.某公司用3台轧机来生产规格相同的铝合金薄板。取样测量薄板的 厚度,精确至‰厘M。得结果如下: 轧机1:0.236 0.238 0.248 0.245 0.243 轧机2:0.257 0.253 0.255 0.254 0.261 轧机3:0.258 0.264 0.259 0.267 0.262 计算方差分析结果,并判定各台轧机所生产的薄板的厚度有无显著的差异? a) p=1.3431e-005,没有显著差异。

matlab计算结果的可视化

第五讲计算结果的可视化 本节介绍MATLAB 的两种基本绘图功能:二维平面图形和三维立体图形。 5.1 二维平面图形 5.1.1 基本图形函数 plot 是绘制二维图形的最基本函数,它是针对向量或矩阵的列来绘制曲线的。也就是说,使用plot 函数之前,必须首先定义好曲线上每一点的x 及y 坐标,常用格式为:(1)plot(x) 当x 为一向量时,以x 元素的值为纵坐标,x 的序号为横坐标值绘制 曲线。当x 为一实矩阵时,则以其序号为横坐标,按列绘制每列元素值相对于其序号的曲线, 当x 为m× n 矩阵时,就由n 条曲线。 (2)plot(x,y) 以x 元素为横坐标值,y 元素为纵坐标值绘制曲线。 (3)plot(x,y1,x,y2,…) 以公共的x 元素为横坐标值,以y1,y2,… 元素为纵坐标值绘 制多条曲线。 例5.1.1 画出一条正弦曲线和一条余弦曲线。 >> x=0:pi/10:2*pi; >> y1=sin(x); >> y2=cos(x); >> plot(x,y1,x,y2) 图5.1.1 函数plot 绘制的正弦曲线 在绘制曲线图形时,常常采用多种颜色或线型来区分不同的数据组,MATLAB 软件专 门提供了这方面的参数选项(见表5.1.1),我们只要在每个坐标后加上相关字符串,就可实 现它们的功能。 - 2 - 表5.1.1 绘图参数表 色彩字符颜色线型字符线型格式标记符号数据点形式标记符号数据点形式 y 黄- 实线. 点<小于号 m 紫:点线o 圆s 正方形 c 青-. 点划线x 叉号 d 菱形 r 红- - 虚线+ 加号h 六角星 g 绿* 星号p 五角星 b 蓝v 向下三角形 w 白^ 向上三角形 k 黑>大于号 例如,在上例中输入 >> plot(x,y1,'r+-',x,y2,'k*:') 则得图5.1.2 图5.1.2 使用不同标记的plot 函数绘制的正弦曲线 5.1.2 图形修饰 MATLAB 软件为用户提供了一些特殊的图形函数,用于修饰已经绘制好的图形。 表5.1.2 图形修饰函数表

中国矿业大学 实验六 MATLAB数据可视化

实验六MATLAB数据可视化 一、实验目的 掌握MATLAB 二维、三维图形绘制,掌握图形属性的设置和图形修饰;掌握图像文件的读取和显示。 二、实验内容 (1) 二维图形绘制。 (2) 三维曲线和三维曲面绘制。 三、实验步骤 1.二维图形绘制 (1) 二维图形绘制主要使用函数plot。 >> clear all; >> x=linspace(0,2*pi,100); >> y1=sin(x); >> plot(x,y) >> hold on >> y2=cos(x) >> plot(x,y) >> hold off

注:hold on 用于保持图形窗口中原有的图形,hold off解除保持。 (2) 函数plot 的参数也可以是矩阵。 >> close all >> x=linspace(0,2*pi,100); >> y1=sin(x); >> y2=cos(x); >> A=[y1 ; y2]'; >> B=[x ; x]' >> plot(B,A)

(3) 选用绘图线形和颜色。>> close all >> plot(x,y1,'g+',x,y2, 'r:') >> grid on

(4) 添加文字标注。 >> title('正弦曲线和余弦曲线') >> ylabel('幅度') >> xlabel('时间') >> legend('sin(x)', 'cos(x)') >> gtext('\leftarrowsinx')

(5) 修改坐标轴范围。 >> axis equal >> axis normal >> axis([0 pi 0 1.5]) 程序如下: x=linspace(0,2*pi,100); y1=sin(x); y2=cos(x); A=[y1 ; y2]'; B=[x ; x]' plot(B,A) plot(x,y1,'g+',x,y2, 'r:') axis equal axis normal axis([0 pi 0 1.5])

《科学计算与MATLAB》期末大作业

杭州电子科技大学信息工程学院《科学计算与MATLAB》期末大作业

给出程序、图、作业分析,程序需加注释。 1. 试编写名为fun.m 的MATLAB 函数,用以计算下述的值: ?? ? ??-<->=t t n t t t n t f 的)4/sin()(si 对所有)4/sin(其他情况)sin(的)4/sin()(si 对所有)4/sin()(ππππ 绘制t 关于函数f(t)的图形,其中t 的取值范围为ππ66≤≤-t ,间距为10/π。 function y=fun()%定义函数 % t=-6*pi:pi/10:6*pi; %定义变量范围 y = (sin(pi/4)).*(sin(t)>sin(pi/4))+(sin(-pi/4)).*(sin(t)=sin(-pi/4)));%函数表示 plot(t,y); %画图 end

2.解以下线性方程组 ??? ??=+=++=--3 530 42231 321321x x x x x x x x A=[2 -1 -1;1 1 4;3 0 5];%输入矩阵 B=[2;0;3]; %输入矩阵 X = A\B %计算结果 3.已知矩阵? ? ??? ???? ???=44434241 3433323124232221 14131211A 求: (1)A(2:3,2:3) (2)A(:,1:2) (3)A(2:3,[1,3]) (4)[A,[ones(2,2);eye(2)]]

A=[11 12 13 14;21 22 23 24;31 32 33 34;41 42 43 44];%输入矩阵A(2:3,2:3) %输出矩阵 A(:,1:2) %输出矩阵 A(2:3,[1,3]) %输出矩阵 [A,[ones(2,2);eye(2)]] %输出矩阵

基于MATLAB科学计算器

目录 计算器得效果图 ........................................................................... 错误!未定义书签。 一、GUI设计界面: (3) 1。打开GUI (3) 2。添加按钮 (3) 3。根据按钮得作用及视觉效果做一定得修改: (4) 4。保存、添加功能函数 (4) (1)数字键编写 (4) (2)符号键得编写 (4) (3)运算符“=”得编写 (5) (4)按键“←back"得编写 (5) (5)按键“清空”得编写 (5) (6)按键“退出”得编写 (5) (7)按键“二进制数转十进制数"得编写 (5) (8)按键“十进制数转二进制数”得编写 (5) 二、计算器得使用 (5) 除法运算(÷) (5) 平方运算(^2) (6) 函数cos (∏/3)得计算 (6) 函数arctan (∏/3)得计算 (7) 以2为底得对数得计算(log 2) (7) 十进制数转二进制数得计算(调用dec2bin函数) (8) 二进制数转十进制数得计算(调用bin2dec函数) (8) 三、附各按键得程序源代码 (9) 四、问题与解决方法 (14) 五、心得体会 (14) 参考文献 (15) 计算器得效果图:

一、GUI设计界面: 1。打开GUI 输入Guide 回车或者在工具栏上点击图标打开Guide 窗口: 2。添加按钮

3、根据按钮得作用及视觉效果做一定得修改: 双击按钮(Puch Button)进入按键属性修改显示字符串大小、字体与颜色,然后对按钮得位置进行排布,尽量使按钮集中在静态文本框下面、 4、保存、添加功能函数 把做好得按钮及静态文本框保存后自动弹出Editor得M文本,对然后对相应得pushbutton添加功能函数。以下就是相应按钮得功能函数。 (1)数字键编写 在function pushbutton1_Callback(hObject, eventdata, handles)下输入: textString = get(handles。text1,’String'); textString =strcat(textString,'0'); set(handles、text1,’String',textString) 这就是使用句柄handles指向对象text1,并以字符串形式来存储数据文本框text1得内容,并存储数个“0”, 然后由set(handles。text1,'String','textString’在text1中输出。 同理,分别在function pushbutton2~10_Callback(hObject, eventdata, handles)下给1~9数字按键下编写此类程序、 (2)符号键得编写 function pushbutton12_Callback(hObject, eventdata, handles) textString = get(handles、text1,'String’); textString =strcat(textString,’÷’); set(handles。text1,'String',textString) strcat得作用就是将两个字符串连接起来,就就是在已输入得存储数据textString后添加“÷"进行运算。 然后执行set(handles、text1,’String’,textString)。符号键‘—’、‘*’、‘/’与‘÷'得运算函数类似。“平方运算”,主要就是由“^2”功能实现。

【原创】MATLAB实验报告-第二次-用MATLAB实现计算数据可视化-北京交通大学

MATLAB 上机实验报告( 2 ) 实验内容: 一、试用如下几种方法来建立向量,观察结果 ( 1) x=1:5, x=(1:5) ' 实验结果:x=1:5是行向量,x=(1:5)是列向量.且1为初始值,5为终止值,默认的步长为 1. >> x=1:5 1 2 3 4 5 >> x=(1:5)' x = 1 2

3 4 5 ( 2) x=0:pi/4:pi 实验结果:x=0:pi/4:pi 指的是x=(0,0.25*pi,0.50*pi,0.75*pi,pi). 其中pi为圆周率初始值为0,终止值为pi,步长为pi/4. >> x=0:pi/4:pi x = 0 0.7854 1.5708 2.3562 3.1416 (3)x=(0:0.2:3) ', y=e-x)p.(*sin(x) 实验结果:x的初始值为0,终止值为3,步长为0.2.而函数y表示将x向量中的每一个数代入函数y=e%x)*sin(x)得到的函数值组成的向量. >> x=(0:0.2:3)', y=exp(-x).*sin(x)

x = 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000 1.4000 1.6000 1.8000 2.0000 2.2000 2.4000 2.6000 2.8000 3.0000

0.1627 0.2610 0.3099 0.3223 0.3096 0.2807 0.2430 0.2018 0.1610 0.1231 0.0896 0.0613 0.0383 0.0204 0.0070 (4) k=linspace(-pi,pi,5), k=logspace(-3,-1,5) 实验结果:k=linspace(-pi,pi,5)产生的是初始值为-pi,终止值为 pi,元素总数为5的行向量,即k的步长为pi/2. k=logspace(-3,-1,5产生的是初始值为10八(-3),终止值为10八(-1),元素总数为5的列向量.

实验二MATLAB计算的可视化

课程实验报告 学年学期2011-2012学年第1学期 课程名称MATLAB与科学计算 实验名称实验二MATLAB计算的可视化实验室测量测绘实验中心计算机室专业年级热动113 学生姓名白治朋 学生学号2011012106 提交时间2013年10月23日 成绩 任课教师许景辉、牛亚斌 水利与建筑工程学院

实验二 MATLAB 计算的可视化 1、目的和要求 (1)熟练掌握MATLAB 二维曲线、三维图形的绘制。 (2)熟练掌握各种特殊图形的绘制。 (3)熟练掌握三维图形绘制命令。 (4)了解GUI 设计的一般过程和方法。 2、内容和步骤 参见教材实验四。 3、实验报告提交要求 (1) x=[1 2 3],y=[1 2;2 3;5 8],z=[2 6 9;3 8 8;1 5 7],绘制plot (x ,y )、plot (x ,z ),说明其各 自绘制的内容。 (2) 绘制如下图形,建立figure (2),绘图同样曲线,但标题为“你的姓名(黑体,16号字)”, 在x 坐标和y 坐标上分别标识学号和班级名称,并将网格线打开。 数组X 的列个数与矩阵y 的行个数相同, plot ( x ,y )绘制的是x 为横坐标y 的每列为纵坐标的图像。如图1。 图1 数组X 的列个数与方阵z 的行列个数相同,plot (x ,z )绘制的是x 为横坐标z 的每列为纵坐标的图像。如图2。 图2

(3)演示P133页,例题4.17 。

(4)完成课本P336图S 4.1实验,并用.m文件显示其程序内容。 (5)完成P302第四章例题4.

(6)通过绘制二阶系统阶跃响应,综合演示图形标识,请注释每条命令的含义。 clf; %清除图形窗口 t=6*pi*(0:100)/100;y=1-exp(-0.3*t).*cos(0.7*t); % 数据准备 tt=t(find(abs(y-1)>0.05)); %找出符合条件(y-1)的绝对值>0.05的对应t,赋值给tt ts=max(tt); %ts为tt中最大值ts=9.6133 plot(t,y,'r-','LineWidth',3) %画曲线t-y,红色实线,线粗3磅 axis([-inf,6*pi,0.6,inf]) %设置坐标轴范围。x轴下限自动产生,上限为6*pi;y轴下限0.6,上限自动产生 set(gca,'Xtick',[2*pi,4*pi,6*pi],'Ytick',[0.95,1,1.05,max(y)]) %二维坐标刻度设置。x轴刻度线取2*pi,4*pi,6*pi,y轴取0.95,1,1.05,max(y) grid on %显示坐标刻度线 title('\it y = 1 - e^{ -\alphat}cos{\omegat}') %用斜体1书写图名 text(13.5,1.2,'\fontsize{12}{\alpha}=0.3') %图形标识,添加文字注释。在x=13.5,y=1.2处,字体大小12磅,标注α=0.3 text(13.5,1.1,'\fontsize{12}{\omega}=0.7') %图形标识,添加文字注释。在x=13.5,y=1.1处,字体大小12磅,标注ω=0.7 hold on; %保持原有图形 plot(ts,0.95,'bo','MarkerSize',10); %在x=ts,y=0.95处画蓝色的空心圆圈,大小为

基于Matlab的简易计算器

工程设计报告 设计题目:基于Matlab的简易计算器 学院: 专业: 班级: 学号: 姓名: 电子邮件: 日期:2015年12 月 成绩: 指导教师:

西安电子科技大学 电子工程学院 工 程设计 任务书 学生姓名指导教师职称 学生学号专业 题目基于Matlab 的简易计算器 任务与要求 任务如下: 利用MATLAB GUI 设计实现一个图形用户界面的计算器程序,实现: A.实现十进制数的加、减、乘、除、简单计算。 B. 科学计算函数,包括正弦、余弦、正切、余切、开方、指数等函数运行。 C. 有清除键,能清除操作。 要求如下: A .熟练掌握MatlabGUI 界面的设计与应用 B .最终计算器能够实现预期的相关功能 开始日期2015年 11月日完成日期2016年1月日 课程设计所在单位 本表格由电子工程学院网络信息中心编辑录入 https://www.sodocs.net/doc/7815848122.html,. …………………………装…………………… … … … … 订 … … … … … … … … … … … …线 … …… …… …… …… …… … …… …… …… …… …… … …

摘要 基于Matlab GUI计算器设计时利用GUI的创建图像用户界面进行计算器设计。设计计算器时,主要是考虑到计算器的易用性、功能的常用程度进行计算器界面与功能的设计。通过调整控件和文本的布局及颜色,使界面简单大方、布局合理,达到界面友好的效果。 计算器设计时主要利用到get和set两个函数进行各个控件属性值的传递和设置。计算器实现的功能有:数字0~9和小数点的输入显示,平方开方和对数的输入显示。进行四则运算、正弦函数、余弦函数、正切函数以及反正弦函数、反余弦函数、反正切函数的计算等等。最后运行调试,实现基于MatlabGUI的计算器的设计。 关键词:MatlabGUI计算器 Abstracts Based on Matlab GUI calculator design using the user interface to create images of GUI calculator design.Design calculator, mainly considering the ease of use, function calculators calculator interface and function of the common level of design.By adjusting the control and the layout of the text and color, make the interface simple and easy, rational layout, to achieve the effect of friendly interface. Calculator design used to get and set two main function for each attribute value transfer and control Settings.Calculator the functions are: 0 ~ 9, according to input and decimal square root and logarithm of input.Arithmetic, sine function and cosine function, tangent function and the arcsine function,arccosine function, the calculation of the arctangent function and so on.Finally running debugging, implementation design based on Matlab GUI calculator. Keywords: Matlab GUI calculator

相关主题