实验一: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小时内删除。
发表评论