西华大学《专业软件应用》实验指导书matlab学.docx
《西华大学《专业软件应用》实验指导书matlab学.docx》由会员分享,可在线阅读,更多相关《西华大学《专业软件应用》实验指导书matlab学.docx(17页珍藏版)》请在冰豆网上搜索。
西华大学《专业软件应用》实验指导书matlab学
交通与汽车工程学院
《专业软件应用》
实验指导书
适用专业:
车辆工程
课程代码:
8802191
学时:
学分:
编写单位:
汽车系
编写人:
李平飞
审核人:
徐延海
审批人:
孙仁云
2009年05月
目录
实验一MATLAB基本操作……………………………………………………2
实验二MATLAB编程基础
实验三MATLAB图形操作
实验报告格式及要求………………………………………………………………………3
实验一matlab基本操作
一实验目的
熟悉MATLAB语言编程环境;熟悉MATLAB语言命令
二实验仪器和设备
装有MATLAB6.0以上计算机一台
三实验原理
MATLAB是以复杂矩阵作为基本编程单元的一种程序设计语言。
它提供了各种矩阵的运算与操作,并有较强的绘图功能。
1.1基本规则
1.1.1一般MATLAB命令格式为
[输出参数1,输出参数2,……]=(命令名)(输入参数1,输入参数2,……)
输出参数用方括号,输入参数用圆括号如果输出参数只有一个可不使用
括号。
1.1.2%后面的任意内容都将被忽略,而不作为命令执行,一般用于为代码加注释。
1.1.3可用↑、↓键来重现已输入的数据或命令。
用←、→键来移动光标进行修改。
1.1.4所有MATLAB命令都用小写字母。
大写字母和小写字母分别表示不同的变量。
1.1.5常用预定义变量,如pi、Inf、NaN、ans
1.1.6矩阵的输入要一行一行的进行,每行各元素用空格或“,”分开,每行用“;”分开。
如
MATLAB书写格式为A=[123;456;789]
在MATLABZ中运行如下程序可得到A矩阵
a=[123;456;789]
a=
123
456
789
1.1.7需要显示命令的计算结果时,则语句后面不加“;”号,否则要加“;”号。
运行下面两种格式可以看出它们的区别:
a=[123;456;789]a=[123;456;789];
a=
123不显示结果
456
789
1.1.8当输入语句过长需要换行时,应加上“…”后再回车,则可续行输入。
1.2矩阵运算
MATLAB具有强大的矩阵运算功能,这里我们只作简单介绍.
1.2.1在MATLAB中表示一个矢量要用方括号,而列矢量的输入只需在行矢量输入格式基础上加转置符“’”即可。
如x=[123;456]
x=
123
456
而x=[123;456]'(加转置符)
x=
14
25
36
1.2.2下面三条命令可以产生一个行矢量
1a=linspace(x,y,n)
2a=logspace(x,y,n)
3a=[x:
n:
y]
第一条命令可以在线性空间产生一个值在x至y之间间隔点数为n的行矢量(一组数据)。
其行矢量的起始值是x,终值为y,点数为n。
第二条命令可以在对数空间产生一个值在10x至10y之间等间隔的行矢量(一组数据)。
第三条命令产生x至y步长为n的行矢量。
但是,三个命令之间存在差别,下面的例子可以说明这一点。
例1x=logspace(0,5,6)
x=
110100100010000100000
例2x=linspace(0,10,11)
x=
012345678910
例3x=[0:
1:
10]
x=
012345678910
通过上面三个例子可以看出例一,例二中n代表选取的点数。
而在例三中n则表示步长.注意它们的区别。
四实验内容和步骤
熟悉MATLAB语言编程环境。
在这一环境中,系统提供了许多编写,调试和执行MATLAB程序的便利工具。
熟悉变量、MATLAB基本数学函数使用,矩阵操作练习,主要包括矩阵的建立,算数运算,逻辑运算和关系运算。
(一)熟悉Matlab的运行环境以及HELP命令,运行demo命令,观看matlab所具有的功能。
(二)验证例题中所有操作。
(三)完成以下各题,将步骤命令写入实验报告,并在机器上运行结果验证。
1.输入A=[715;256;315],B=[111;222;333],在命令窗口中执行下列表达式,掌握其含义:
A(2,3)A(:
2)A(3,:
)A(:
1:
2:
3)A(:
3).*B(:
2)A(:
3)*B(2,:
)A*BA.*BA^2A.^2B/AB./A
2.求下列表达式的值。
(1)
(2)
,其中a=3.5,b=5,c=-9.8。
实验二MATLAB编程基础
一实验目的:
完成MATLAB下数据分析与程序设计有关问题的练习。
学习脚本文件的编写,数值输入,数组计算,程序调试等;练习利用MATLAB编程序解决基本数学问题。
学习全局和局部变量的使用,流程控制结构,函数编写及其调试。
二实验仪器和设备
装有MATLAB6.0以上计算机一台
三实验原理
1.常用运算命令
运算命令名
功能
angle
求复数的角
min
求最小值
max
求最大值
sum
求和
roots
求多项式的根
poly
由多项式的根求多项式的系数
polyval
求给定点多项式的值
polyder
多项式求导
例1求a=S^3+2S^2+3S+4根.
a=[1234];
roots(a)
ans=
-1.6506
-0.1747+1.5469i
-0.1747-1.5469i
或
roots([1234])
ans=
-1.6506
-0.1747+1.5469i
-0.1747-1.5469i
例2已知某多项式的根如下
-1.6506
-0.1747+1.5469i
-0.1747-1.5469i
求该多项式.
poly([-1.6506,-0.1747+1.5469i,-0.1747-1.5469i])
ans=
1.00002.00003.00014.0001
即所求多项式为S^3+2S^2+3S+4.
2.无条件循环
当需要无条件重复执行某些命令时,可以使用for循环:
for循环变量t=表达式1:
达式2:
表达式3
语句体
end
说明:
表达式1为循环初值,表达式2为步长,表达式3为循环终值;当表达式2省略时则默认步长为1;for语句允许嵌套。
例3:
例4:
矩阵输入程序
生成3×4阶的Hiltber矩阵。
m=input(‘矩阵行数:
m=’);
fori=1:
3n=input(‘矩阵列数:
n=’);
forj=1:
4fori=1:
m
H(i,j)=1/(i+j-1);forj=1:
n
enddisp([‘输入第’,num2str(i),’行,第’,num2str(j),’
end列元素’])
A(i,j)=input(‘’)
end
end
3.条件循环
1)if-else-then语句
if-else-then语句的常使用三种形式为:
(1)if逻辑表达式(3)if逻辑表达式1
语句体语句体1
endelseif逻辑表达式2
语句体2
(2)if逻辑表达式1elseif逻辑表达式3
语句体1…
elseelse
语句体2语句体n
endend
2)while循环语句
while循环的一般使用形式为:
while表达式
语句体
end
例4:
用迭代法计算多项式方程
=0的一个实根。
解:
x0=3;r=1;n=0;
whiler>1e-5
x1=x0;
x0=3+5/x1.^2;
r=abs(x0-x1);
n=n+1;
end,x0,n
运行结果为:
x0=
3.4260
n=
9
4.分支结构
若需要对不同的情形执行不同的操作,可用switch分支语句:
switch表达式(标量或字符串)
case值1
语句体1
case值2
语句体2
…
otherwise
语句体n
end
说明:
当表达式不是“case”所列值时,执行otherwise语句体。
5.建立M文件
将多个可执行的系统命令,用文本编辑器编辑后并存放在后缀为.m的文件中,若在MATLAB命令窗口中输入该m-文件的文件名(不跟后缀.m!
),即可依次执行该文件中的多个命令。
这个后缀为.m的文件,也称为Matlab的脚本文件(ScriptFile)。
注意:
文件存放路径必须在Matlab能搜索的范围内。
6.建立函数文件
对于一些特殊用户函数,系统提供了一个用于创建用户函数的命令function,以备用户随时调用。
1.格式:
function[输出变量列表]=fun_name(输入变量列表)
用户自定义的函数体
2.函数文件名为:
fun_name,注意:
保存时文件名与函数名最好相同;
3.存储路径:
最好在系统的搜索路径上。
4.调用方法:
输出参量=fun_name(输入变量)
例5:
计算s=n!
,在文本编辑器中输入:
functions=pp(n);
s=1;
fori=1:
n
s=s*i;
end
s;
在MATLAB命令窗口中输入:
s=pp(5)
结果为:
s=120
四实验内容和步骤
(一)验证例题中的操作。
(二)完成以下各题,将答案写入实验报告,并在机器上运行结果验证。
1.编写程序,计算1+3+5+7+…+(2n+1)的值(用input语句输入n值)。
2.编写分段函数
的函数文件,存放于文件ff.m中,并求
,
,
的值。
3.编写一个函数文件求三个数的最大值。
4:
产生一个随机数,若大于0.5,则把这个数连加,直到刚好超过10为止,求这个数。
实验三MATLAB图形操作
一实验目的
学会用MATLAB语言绘图
二实验仪器和设备
装有MATLAB6.0以上计算机一台
三实验原理
1、plot
该命令在线性坐标系下绘制y对应于x的轨迹。
若其中之一为矩阵则该命令将对应于矩阵的行或者列绘制一簇曲线。
该命令也可以在同一坐标轴下绘制多条曲线。
例1运行程序
t=[0:
1:
10];
x1=t;
plot(x1)
可在图形窗口得到下面图形:
例2
x=[0:
0.5:
7];
y=sin(x);
y1=2*x;
y2=3*x;
plot(y,x,y1,x,y2,x)
从上面的例子可以看出,如果要在同一坐标轴下绘制多条曲线,可用如下格式:
plot(x1,y1,x2,y2……..xn,yn)%对应于不同矢量时
其中x1,y1……….xn,yn是对应的关系。
2、loglog
在两个对数(标准对数)坐标间绘制图形。
3、semilogx或semilogy
在x轴或y轴为对数坐标,而另一轴为线性轴的空间绘制图形。
4、polar
在极坐标空间绘制图形。
5、grid
在图形中加栅格。
6、subplot(r,c,p)
该命令将屏幕分成r*c个窗口,p表示在第几个窗口.同时绘制多个图形窗口时,绘图语句间应用逗号分开。
例3下面的程序产生四个窗口,且分别绘制相应图形.
t=[0:
0.01:
2*pi];
y=sin(t);
x=cos(t);
subplot(221),plot(t,y),grid,subplot(222),plot(t,x),
grid,subplot(223),polar(t,y),subplot(224),polar(t,x)
从上面的程序可以看出,subplot语句中的r,c,p可以不用逗号分开。
上面程序执行后得到如下图形:
7、gtext
该命令用于鼠标定位的文字注释.执行完绘图命令后再执行gtext(‘说明文字’)命令,就可在屏幕上得到一个光标,然后,用鼠标选择说明文字的位置。
例4t=[0:
1:
10];
x1=2*t;
x2=0.5*t;
plot(x1,t,x2,t);
gtext('x=2t');
gtext('x=0.5t')
8、如果需要同时在不同窗口绘制图形,可用figure语句来完成。
例5t=[0:
1:
10];
x1=2*t;
x2=3*t;
figure,plot(x1),figure,plot(x2)
9、有关绘图方面的还有:
✧Title给当前图像加标题。
✧xlabel或ylabel给x或y轴加标注。
✧text在当前图像上指定位置加注释。
等。
10、在同一座标系中绘制多个曲线时,曲线的颜色可以自动确定,也可以自己选择。
其使用格式如下:
plot(x1,y1,选项1,x2,y2,选项2,…,xn,yn,选项n)
b
蓝色
m
紫红色
c
青色
r
红色
g
绿色
w
白色
k
黑色
y
黄色
-
实线(默认)
:
点连线
-.
点画线
--
虚线
.
点
s
正方形
+
十字号
d
菱形
o
圆圈
h
六角形
*
星号
p
五角星
x
叉号
>
右三角
11、三维图形绘制函数
plot3函数与plot函数的用法类似。
还可以用mesh函数绘制三维网格图;用surf函数绘制三维曲面图。
MATLAB提供了丰富的三维绘图函数,可以通过help命令查看。
例6绘制三维曲线:
t=0:
pi/100:
20*pi;
x=sin(t) ;
y=cos(t);
z=t.*sin(t).*cos(t);
plot3(x,y,z) ;
title(‘linein3-Dspace’) ;
xlabel(‘X’);ylabel(‘Y’);zlabel(‘z’);
gridon
运行结果如下:
四实验内容和步骤
(一)验证例题中的操作。
(二)完成以下各题,将答案写入实验报告,并在机器上运行结果验证。
1.在同一坐标系中绘制余弦曲线y=cos(t-0.25)和正弦曲线y=sin(t-0.5),t∈[0,2π]
2.绘制[0,4π]区间上的x=10sint曲线,并要求:
(1)线形为点划线、颜色为红色、数据点标记为加号;
(2)坐标轴控制:
显示范围、刻度线、比例、网络线
(3)标注控制:
坐标轴名称、标题、相应文本。
3.绘制三维圆柱螺线:
,要求给相应的坐标轴和标题附加标注,螺线为兰色虚线。
实验报告格式及要求
实验操作是理论联系实际的重要环节,实验报告必须在科学实验的基础上进行,实验报告的撰写是知识系统化的吸收和升华的过程,实验报告应该体现完整性、规范性、正确性、有效性。
现将撰写实验报告的有关内容说明如下:
1.学生所做的所有实验(包括计算机上机)均必须按实验项目撰写实验报告。
实验报告必须按学校规定的格式,手工书写。
2.实验报告包括实验目的;实验设备、仪器及材料、实验内容、实验总结四项内容。
实验报告的具体内容与格式应按照实验教学大纲和实验指导书的要求书写。
3.对旷课达实验课总课时数三分之一及以上,或者抄袭报告、伪造实验数据者,该实验课成绩按0分计。
4.实验内容包括:
实验原理及实验步骤(实验工作原理或实验的主要操作过程)和实验过程的记录。
注解:
理工科实验需记录实验过程中的数据、图表、计算、现象观察等,实验过程中出现的问题;
5.实验总结包括:
实验结果分析及问题讨论和实验总结心得体会,注解:
实验总结的内容需要对实验结果进行分析,并且对实验过程中问题进行讨论;总结实验过程写出心得体会及改进意见。
6.每个学生每门课程的实验报告单独装订成册,按照封面、实验一、实验二各个实验项目的顺序装订。
主要参考文献
1詹才浩.CATIAV5应用教程,北京:
清华大学出版社