实验一:MATLAB的基本操作
一、实验目的:
1.熟悉MATLAB操作环境
2.熟悉MATLAB的帮助
3.熟悉MATLAB矩阵的操作
4.熟悉MATLAB基本运算
二、实验内容:
1.自行设计试题,说明三角函数是按弧度还是按角度计算。
2.出取整的函数,并自行设计试题,说明它们的区别。
3.自行设计试题,说明如何给矩阵按列符值。
4.自行设计试题,建一个5X5矩阵,然后将第一行乘1,第二行乘2,第三行乘3,第四
行乘4,第五行乘5。
5.设计编写程序(命令),解方程3x5-7x4+5x2+2x-18=0。
6.自行设计试题,说明eval()函数的功能。
三、实验原理:
ceil(x)=  -4    -2    0    2    5    7
fix(x) =  -4    -2    0    1    4    6
floor(x) = -5    -3    -1    1    4    6
round(x) = -5 -2 0    1    5 7
2、系统的在线帮助
help 命令:
(1).当不知系统有何帮助内容时,可直接输入help以寻求帮助:
>> help(回车)
(2).当想了解某一主题的内容时,如输入:
>> help  syntax(了解Matlab的语法规定)
(3).当想了解某一具体的函数或命令的帮助信息时,如输入:
>> help  sqrt  (了解函数sqrt的相关信息)
lookfor命令
现需要完成某一具体操作,不知有何命令或函数可以完成,如输入:
>> lookfor line (查与直线、线性问题有关的函数)
3、常量与变量
系统的变量命名规则:变量名区分字母大小写;变量名必须以字母打头,其后可以是任意字母,数字,或下划线的组合。此外,系统内部预先定义了几个有特殊意义和用途的变量,见下表:
数值型向量(矩阵)的输入
(1).任何矩阵(向量),可以直接按行方式
...输入每个元素:同一行中的元素用逗号(,)或者用空格符来分隔;行与行之间用分号(;)分隔。所有元素处于一方括号([ ])内;
例1-1:
>> Time = [11  12  1  2  3  4  5  6  7  8  9  10]
>> X_Data = [2.32  3.43;4.37  5.98]
(2).系统中提供了多个命令用于输入特殊的矩阵:
上面函数的具体用法,可以用帮助命令help得到。如:meshgrid(x,y)
输入 x=[1 2 3 4];  y=[1 0 5]; [X,Y]=meshgrid(x, y),则
X =                                Y =
1    2    3    4                1    1    1    1
1    2    3    4                0    0    0    0
1    2    3    4                5    5    5    5
目的是将原始数据x,y转化为矩阵数据X,Y。
符号向量(矩阵)的输入
(1).用函数 sym定义符号矩阵:
函数sym实际是在定义一个符号表达式,这时的符号矩阵中的元素可以是任何的符号或者是表达式,而且长度没有限制。只需将方括号置于单引号中。
例1-2:
>> sym_matrix = sym('[a  b  c;Jack  Help_Me  NO_WAY]')
sym_matrix =
[  a,        b,          c]
[Jack,  Help_Me,  NO_WAY]
(2).用函数syms定义符号矩阵
先定义矩阵中的每一个元素为一个符号变量,而后像普通矩阵一样输入符号矩阵。
例1-3:
>> syms  a  b  c ;
>> M1 = sym('Classical');
>> M2 = sym(' Jazz');
>> M3 = sym('Blues');
>> A = [a  b  c; M1, M2, M3;sym([2  3  5])]
A =
[      a,    b,    c]
[Classical,  Jazz,  Blues]
[      2,    3,    5]
数组(矩阵)的点运算
运算符:+(加)、-(减)、./(右除)、.\(左除)、.^(乘方),
例1-4:
>> g = [1 2 3 4];h = [4 3 2 1];
>> s1 = g + h,  s2 = g.*h,  s3 = g.^h,  s4 = g.^2,  s5 = 2.^h
matlab定义函数表达式矩阵的运算
运算符:+(加)、-(减)、*(乘)、/(右除)、\(左除)、^(乘方)、’(转置)等;
常用函数:det(行列式)、inv(逆矩阵)、rank(秩)、eig(特征值、特征向量)、rref (化矩阵为行最简形)
例1-5:
>> A=[2 0 –1;1 3 2];  B=[1 7 –1;4 2 3;2 0 1];
>> M = A*B            %  矩阵A与B按矩阵运算相乘
>> det_B = det(B)      %  矩阵A的行列式
>> rank_A = rank(A)  %  矩阵A的秩
>> inv_B = inv(B)  %  矩阵B的逆矩阵
>> [V,D] = eig(B)        % 矩阵B的特征值矩阵V与特征向量构成的矩阵D
>> X = A/B            %  A/B = A*B-1,即XB=A,求X
>> Y = B\A            %  B\A = B-1*A,即BY=A,求Y
四、实验要求:
写出自行设计的试题,记下调试过程中出现的问题,并给出最后的实验程序和结果,并写出实验报告。
实验二:MATLAB的M文件的应用
一、实验目的:
1.熟悉MATLAB中两类M文件的区别
2.熟悉MATLAB的M文件创建,调用
3.熟悉MATLAB的M文件中的程序的调试
二、实验内容:
1.编写程序:猜数字游戏,总共能猜10次:
当猜的数大于真实数时,输出‘HIGH’;
当猜的数小于真实数时,输出‘LOW’;
当猜的数等于真实数时,输出‘YOU WIN’,程序结束.
2.编写程序,求f(x)=x3+x2+x+4在[1,10]的定积分,用梯形法写出程序,并与MATLAB中
的定积分函数进行比较。
3.编写程序,求Fibonacc数列:
f1=1,  f2=1,  fn=f(n-1)+f(n-2) ,n>2,并求f (20)的值。
4.编写程序,实现对矩阵按行由大到小排序。
三、实验原理:
1、无条件循环
当需要无条件重复执行某些命令时,可以使用for循环:
for  循环变量t=表达式1 : 达式2 : 表达式3
语句体
end
说明:表达式1为循环初值,表达式2为步长,表达式3为循环终值;当表达式2省略时则默认步长为1;for语句允许嵌套。
例2-1:如:矩阵输入程序
生成3×4阶的Hiltber矩阵。    m=input(‘矩阵行数:m=’);
for i=1 : 3                    n= input(‘矩阵列数:n=’);
for j=1 : 4                  for  i=1:m
H(i,j)=1/(i+j-1);        for  j=1:n
end    disp([‘输入第’,num2str(i),’行,第’,
num2str(j),’列元素’])
end                                  A(i, j) = input (‘’)
end
end
2 、条件循环
1)  if-else-then语句
if-else-then语句的常使用三种形式为:
(1) if 逻辑表达式      (3) if  逻辑表达式1
语句体语句体1
end                      elseif  逻辑表达式2
语句体2
(2) if 逻辑表达式1          elseif  逻辑表达式3
语句体1                …
else                  else

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。