实验一MATLAB 工作环境熟悉及简单命令的执行一、 实验目的:熟悉MATLAB 的工作环境,学会使用MATLAB 进行一些简单的运算。
二、 实验内容:MATLAB 的启动和退出,熟悉MATLAB 的桌面(Desktop ),包括菜单(Menu )、工具条(T oolbar )、命令窗口(Command Window)、历史命令窗口、工作空间(Workspace)等;完成一些基本的矩阵操作;学习使用在线帮助系统。
三、实验步骤:1、启动MATLAB ,熟悉MATLAB 的桌面。
2、在命令窗口执行命令完成以下运算,观察workspace 的变化,记录运算结果。
(1)(365-52⨯2-70)÷3; (2)area=pi*2.5^2;(3)已知x=3,y=4,在MATLAB 中求z :()232y x y x z -=;(4)将下面的矩阵赋值给变量m1,在workspace 中察看m1在内存中占用的字节数。
m1=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡11514412679810115133216 执行以下命令 >>m1( 2 , 3 ) >>m1( 11 ) >>m1( : , 3 )>>m1( 2 : 3 , 1 : 3 )>>m1( 1 ,4 ) + m1( 2 ,3 ) + m1( 3 ,2 ) + m1( 4 ,1) (5)执行命令>>help abs查看函数abs 的用法及用途,计算abs( 3 + 4i ); (6)执行命令>>x=0:0.1:6*pi; >>y=5*sin(x); >>plot(x,y)(7)运行MATLAB 的演示程序,>>demo ,以便对MATLAB 有一个总体了解。
四、思考题1、以下变量名是否合法?为什么? (1)x2; (2)3col ; (3)_row ; (4)for ;2、求以下变量的值,并在MATLAB中验证。
(1)a = 1 : 2 : 5 ;(2)b = [ a' a' a' ] ;(3)c = a + b ( 2 , : )>> s=(365-52*2-70)/3s =63.6667>> area=pi*2.5^2area =19.6350实验二MATLAB 语言矩阵运算一、实验目的:掌握基本的矩阵运算及常用的函数。
二、实验内容:⎥⎦⎤⎢⎣⎡=654321a ⎥⎦⎤⎢⎣⎡-=531142b ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=201c ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=063258741d 1、下列运算是否合法,为什么?如合法,结果是多少?(1) result1 = a'; (2) result2 = a * b; (3) result3 = a + b; (4) result4 = b * d;(5) result5 = [b ; c' ] *d ; result5=[b;c']; result5=[b;c']*d; (6) result6 = a . * b; (7) result7 = a . / b; (8) result8 = a . * c; (9) result9 = a . \ b; (10) result10 = a . ^2; (11) result11 = a ^2; (12) result11 = 2 . ^ a;2、用MATLAB 求下面的的方程组。
(1)⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⨯⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡----017413231511222315921274321x x x x(2)⎪⎪⎩⎪⎪⎨⎧=-++=--=-++=++56533332821w z y x w y x w z y x z y x3、已知⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡----=1323151122231592127A (1)求矩阵A 的秩(rank);(2)求矩阵A 的行列式(determinant); (3)求矩阵A 的逆(inverse);(4)求矩阵A 的特征值及特征向量(eigenvalue and eigenvector) [x,lamde]=eig(A); 4、关系运算与逻辑运算 已知a=20,b=-2,c=0,d=1(1) r1 = a > b;(2) r2 = a > b & c > d; (3) r3 = a == b* (-10); (4) r4 = ~b | c;三、思考题109910101022222++++==---=∑ n n y ,求y=?(用format long 查看y 的值)实验三 MATLAB语言的程序设计一、实验目的:1、熟悉MATLAB程序编辑与设计环境2、掌握各种编程语句语法规则及程序设计方法3、函数文件的编写和设计4、了解和熟悉跨空间变量传递和赋值二、实验基本知识:1、程序流程控制语句for循环结构语法:for i=初值:增量:终值语句1……语句nend说明:1.i=初值:终值,则增量为1。
2.初值、增量、终值可正可负,可以是整数,也可以是小数,只须符合数学逻辑。
while 循环结构语法:while 逻辑表达式循环体语句end说明:1、whiIe结构依据逻辑表达式的值判断是否执行循环体语勾。
若表达式的值为真,执行循环体语句一次、在反复执行时,每次都要进行判断。
若表达式的值为假,则程序执行end之后的语句。
2、为了避免因逻辑上的失误,而陷入死循环,建议在循环体语句的适当位置加break语句、以便程序能正常执行。
(执行循环体的次数不确定;每一次执行循环体后,一定会改变while后面所跟关系式的值。
)3、while循环也可以嵌套、其结构如下:while逻辑表达式1循环体语句1while逻辑表达式2循环体语句2end循环体语句3endif-else-end分支结构if 表达式1语句1else if 表达式2(可选)语句2else(可选)语句3endend说明:1.if结构是一个条件分支语句,若满足表达式的条件,则往下执行;若不满足,则跳出if结构。
2.else if表达式2与else为可选项,这两条语句可依据具体情况取舍。
3.注意:每一个if都对应一个end,即有几个if,记就应有几个end。
switch-case结构语法:switch表达式case常量表达式1语句组1case常量表达式2语句组2……otherwise语句组nend说明:1.switch后面的表达式可以是任何类型,如数字、字符串等。
2.当表达式的值与case后面常量表达式的值相等时,就执行这个case后面的语句组如果所有的常量表达式的值都与这个表达式的值不相等时,则执行otherwise后的执行语句。
程序流程控制指令break、return、pause2、函数文件的结构和编写方法函数只能在函数体内对变量进行操作,也就是只能访问函数本身工作空间中的变量。
M函数文件的结构(1)函数定义行(function)(2) H1行(函数帮助文本的第一行)(3)函数帮助文本(4)函数体(5)注释函数文件编写后,保存时,其文件名必须与函数名相同。
注意:函数名不要与MATLAB自身的函数命令相同。
三、实验内容:1、熟悉MATLAB 程序编辑与设计环境2、用for 循环语句实现求1~100的和。
3、用for 循环语句实现编写一个求n 阶乘的函数文件。
4、Fibonacci 数组的元素满足Fibonacci 规则: 且,现要求该数组中第一个大于10000的元素。
思考题1、已知一维数组A=[2,4,5,8,10],B=[4,6,9,3,4],用for 循环语句实现∑=+-ni i n i B A 11。
求和函数可用sum()。
.2、利用for 循环求1!+2!+3!+ … +5!的值。
.),2,1( =k 12+++=k k k a a a 121==a a实验四函数的编写及调试一、实验目的:掌握MATLAB 函数的编写及调试方法。
二、实验内容:1、编写一个函数function [y]=myfun1(x),计算下面函数的值,给出标量x 的值,调用该函数后,返回y 的值。
选择一些数据测试你编写的函数。
2、编写一个函数求向量x 中元素的平均值、最大值、最小值、均方根值。
function [m_x,max_x,min_x,rms_x]=myfun2(x),均方根值(Root Mean Square)的计算公式为:∑==N i i x N rms 121用下面数据测试你写的函数:(1)x=sin(0:0.01:6*pi)(2)x=rand(1,200),得到的x 为200个(0,1)之间均匀分布的随机数。
3、编写一个函数,给出一个向量],,[21n x x x x =,生成如下范德蒙矩阵。
function [v]=myvander(x)⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡---112112222121111n n n n n n x x x x x x x x x例如:>>v=myvander([2 3 4 5]) 得v=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡1256427825169454321111 生成一些数据测试你写的函数。
三、思考题编写程序,用如下迭代公式求a,a 的值分别为:3,17,113。
迭代的终止条件为5n 1n 10x x -+≤-,迭代初值0.1x 0=,迭代次数不超过100次。
分别对迭代结果和准确值进行比较,并统计迭代次数。
1n 1n 1n 222x 2a2x x a x x 2a x --++=⇒+=⇒= ⎪⎩⎪⎨⎧>+-≤<≤=3,630,0,sin )(x x x x x x x y实验五MATLAB 的绘图1、在同一坐标系下绘制下面三个函数在t ∈[0,4π]的图象。
)sin(41.0321t e y ty t y t -===π2、编写程序,选择合适的步距,绘制下面函数在区间[-6,6]中的图象。
3、三维空间曲线绘制x=cos(z);y=sin(z);(z ∈0~4*pi)4、用mesh 或surf 函数,绘制下面方程所表示的三维空间曲面,x 和y 的取值范围设为[-3,3]。
101022y x z +-=三、思考题在同一坐标系下,用不同颜色和线型绘制以下两个函数在t ∈[-2π,2π]范围内的图象。
t5.012y =t 2.02e 2y -=⎪⎩⎪⎨⎧>+-≤<≤=3,630,0,sin )(x x x x x x x y实验六遗传算法工具箱的应用一、实验目的1、熟悉遗传算法中的基本参数以及设置方法。