实验一matlab环境语法及数学运算(验证性实验-2课时)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一Matlab环境语法及数学运算(验证性实验-2课时)
一、实验目的:
1、熟悉matlab软件的环境语法及简单的数学运算;
2、能熟练运用matlab软件进行简单的数学运算;
二、实验设备
PC机,配置:PIII450/内存128M/显卡TNT32M/硬盘10G以上。

局域网、MATLAB7.0环境、投影仪
三、实验原理
MATLAB环境是一种为数值计算、数据分析和图形显示服务的交互式的环境。

MATLAB有3种窗口,即:命令窗口(The Command Window)、m-文件编辑窗口(The Edit Window)和图形窗口(The Figure Window),而Simulink另外又有Simulink 模型编辑窗口。

1.命令窗口(The Command Window)
当MATLAB启动后,出现的最大的窗口就是命令窗口。

用户可以在提示符“>>”后面输入交互的命令,这些命令就立即被执行。

在MATLAB中,一连串命令可以放置在一个文件中,不必把它们直接在命令窗口内输入。

在命令窗口中输入该文件名,这一连串命令就被执行了。

因为这样的文件都是以“.m”为后缀,所以称为m-文件。

2.m-文件编辑窗口(The Edit Window)
我们可以用m-文件编辑窗口来产生新的m-文件,或者编辑已经存在的m-文件。

在MATLAB主界面上选择菜单“File/New/M-file”就打开了一个新的m-文件编辑窗口;选择菜单“File/Open”就可以打开一个已经存在的m-文件,并且可以在这个窗口中编辑这个m-文件。

四、实验内容:
1、帮助命令
使用 help 命令,查找 sqrt(开方)函数的使用方法;
2、矩阵运算
(1)矩阵的乘法
已知 A=[1 2;3 4]; B=[5 6;7 8];
求 A^2*B
(2)矩阵除法
已知 A=[1 2 3;4 5 6;7 8 9];
B=[1 0 0;0 2 0;0 0 3];
A\B,A/B
(3)矩阵的转置及共轭转置
已知 A=[5+i,2-i,1;6*i,4,9-i];
求 A.', A'
(4)使用冒号选出指定元素
已知: A=[1 2 3;4 5 6;7 8 9];
求 A 中第 3 行前 2 个元素;A 中所有列第 2,3 行的元素;A 中第 3 列前 2 个元素为:
3、多项式
求多项式 p(x) = x3 + 2x+ 4的根
4、基本绘图命令
(1)绘制余弦曲线 y=cos(t),t∈[0,2π]
(2)在同一坐标系中绘制余弦曲线 y=cos(t-0.25)和正弦曲线 y=sin(t-0.5),t∈[0,2π]
5、基本绘图控制
绘制[0,4π]区间上的 x1=10sint 曲线,并要求:
(1)线形为点划线、颜色为红色、数据点标记为加号;
(2)坐标轴控制:显示范围、刻度线、比例、网络线
(3)标注控制:坐标轴名称、标题、相应文本;
五、实验步骤
1、帮助命令
使用 help 命令,查找 sqrt(开方)函数的使用方法;
SQRT Square root.
SQRT(X) is the square root of the elements of X. Complex
results are produced if X is not positive.
See also sqrtm.
Overloaded functions or methods (ones with the same name in other directories) help sym/sqrt.m
Reference page in Help browser
doc sqrt
2、矩阵运算
(1)矩阵的乘法
已知 A=[1 2;3 4]; B=[5 6;7 8];
求 A^2*B
A^2*B =
105 122
229 266
(2)矩阵除法
已知 A=[1 2 3;4 5 6;7 8 9];
B=[1 0 0;0 2 0;0 0 3];
A\B,A/B
Warning: Matrix is close to singular or badly scaled.
Results may be inaccurate. RCOND = 1.541976e-018.
A\B =
1.0e+016 *
-0.4504 1.8014 -1.3511
0.9007 -3.6029 2.7022
-0.4504 1.8014 -1.3511
A/B =
1.0000 1.0000 1.0000
4.0000 2.5000 2.0000
7.0000 4.0000 3.0000
(3)矩阵的转置及共轭转置
已知 A=[5+i,2-i,1;6*i,4,9-i];
求 A.', A'
A.'=
5.0000 + 1.0000i 0 +
6.0000i
2.0000 - 1.0000i 4.0000
1.0000 9.0000 - 1.0000i
A’ =
5.0000 - 1.0000i 0 -
6.0000i
2.0000 + 1.0000i 4.0000
1.0000 9.0000 + 1.0000i
(4)使用冒号选出指定元素
已知: A=[1 2 3;4 5 6;7 8 9];
求 A 中第 3 行前 2 个元素;A 中所有列第 2,3 行的元素;A 中第 3 列前 2 个元素为:
A(3,1:2) =
7 8
A(2:3,:) =
4 5 6
7 8 9
A(1:2,3) =
3
6
3、多项式
求多项式 p(x) = x3 + 2x+ 4的根
p=[1 0 2 4];
roots(p)
ans =
0.5898 + 1.7445i
0.5898 - 1.7445i
-1.1795
4、基本绘图命令
(1)绘制余弦曲线 y=cos(t),t∈[0,2π]
t=0:pi/100:2*pi;
y=cos(t);
plot(t,y)
(2)在同一坐标系中绘制余弦曲线 y=cos(t-0.25)和正弦曲线 y=sin(t-0.5),t∈[0,2π]
t=0:pi/100:2*pi;
y1=cos(t-0.25);
y2=sin(t-0.5);
plot(t,y1,t,y2)
5、基本绘图控制
绘制[0,4π]区间上的 x1=10sint 曲线,并要求:
(1)线形为点划线、颜色为红色、数据点标记为加号;
(2)坐标轴控制:显示范围、刻度线、比例、网络线
(3)标注控制:坐标轴名称、标题、相应文本;
程序:
t=0:pi/100:4*pi;
x1=10*sin(t);
plot(t,x1,'r-.+')
title('t from 0 to 4{\pi}')
xlabel('Variable t')
ylabel('Variable x1')
grid on
text(2,5,'曲线x1=10*sin(t)')
legend('x1')
六、实验要求
利用所学知识,完成上述各项实验内容,并将实验过程和实验步骤和结果写在报告中。

并在实验报告中回答下面问题:
1)在矩阵除法运算A\B中为什么会出现警告提示?
2)矩阵的转置与共轭转置有什么区别?
3)在实验内容5中如何把曲线x1=10*sin(t)的颜色改为绿色?
七、实验结论
通过本次实验,熟悉matlab软件的环境语法及简单的数学运算,能较熟练运用matlab软件进行简单的数学运算,绘制简单的图形、并进行更改颜色等基本设置。

实验二MATLAB数值运算与绘图(验证性实验-2课时)
一、实验目的:
l. 熟悉Matlab中各类数据,尤其是矩阵的定义、赋值和运用。

2. 了解Matlab的矩阵分析函数以及求线性方程组的数值解;
3.熟悉多项式运算函数、数值插值。

二、实验设备
PC机,配置:PIII450/内存128M/显卡TNT32M/硬盘10G以上。

局域网、MATLAB7.0环境、投影仪
三、实验原理
1.创建矩阵的方法
a.直接输入法规则:矩阵元素必须用[ ]括住;矩阵元素必须用逗号或空格分隔;在[ ]内矩阵的行与行之间必须用分号分隔。

逗号和分号的作用:逗号和分号可作为指令间的分隔符,matlab允许多条语句在同一行出现。

分号如果出现在指令后,屏幕上将不显示结果。

b.用matlab函数创建矩阵:空阵 [ ] — matlab允许输入空阵,当一项操作无结果时,返回空阵;rand ——随机矩阵;eye ——单位矩阵;zeros ——全部元素都为0的矩阵;ones ——全部元素都为1的矩阵
c.矩阵的修改:可用↑键找到所要修改的矩阵,用←键移动到要修改的矩阵元素上即可修改;指令修改:可以用A(*,*)= *来修改。

2.矩阵运算
a.矩阵加、减(+,-)运算规则:(1)相加、减的两矩阵必须有相同的行和列两矩阵对应元素相加减。

(2)允许参与运算的两矩阵之一是标量。

标量与矩阵的所有元素分别进行加减操作。

b. 矩阵乘(.*,./,.\)运算规则:A矩阵的列数必须等于B矩阵的行数
标量可与任何矩阵相乘。

c.矩阵乘方—— a^n,a^p,p^a
a ^ p —— a 自乘p次幂,对于p的其它值,计算将涉及特征值和特征向量,如果p是矩阵,a是标量,a^p使用特征值和特征向量自乘到p次幂;如a,p都是矩阵,a^p则无意义。

d.多项式运算
matlab语言把多项式表达成一个行向量,该向量中的元素是按多项式降幂排列
的。

f(x)=anxn+an-1xn-1+……+loa0
可用行向量 p=[an an-1 …… a1 +a0]表示;poly —— 产生特征多项式系数向量
e.代数方程组求解
matlab 中有两种除运算左除和右除。

四、实验内容:
1. 输入下列向量(矩阵)
g = [1 2 3 4]
h = [4 3 2 1]
2. 分别执行以下矩阵点运算
s1 = g + h ;s2 = g.*h ;s3 = g.^h ;s4 = g.^2;s5 = 2.^h
3.输入下列矩阵及矩阵函数
A=[2 0 –1;1 3 2]; B=[1 7 –1;4 2 3;2 0 1];
求:M = A*B ;矩阵A 的秩;矩阵B 的逆矩阵;
4. 有理多项式:)3)(1()3(10)(2++++=s s s s s G 5.函数插值运算
已知0<=x<=10,求y=sin(x) 的线形样条插值
五、实验步骤
1. 输入下列向量(矩阵)
>> g=[1 2 3 4]
g =
1 2 3 4
>> h=[4 3 2 1]
h =
4 3 2 1
2. 分别执行以下矩阵点运算
s1 = g + h ;s2 = g.*h ;s3 = g.^h ;s4 = g.^2;s5 = 2.^h
>> s1=g+h
s1 =
5 5 5 5
>> s2=g.*h
s2 =
4 6 6 4
>> s3=g.^h
s3 =
1 8 9 4
>> s4=g.^2
s4 =
1 4 9 16
>> s5=2.*h
s5 =
8 6 4 2
3.输入下列矩阵及矩阵函数
A=[2 0 –1;1 3 2]; B=[1 7 –1;4 2 3;2 0 1]; 求:M = A*B;矩阵A的秩;矩阵B的逆矩阵;>> A=[2 0 -1;1 3 2]
A =
2 0 -1
1 3 2
>> B=[1 7 -1;4 2 3;2 0 1]
B =
1 7 -1
4 2 3
2 0 1
>> M=A*B
M =
0 14 -3
17 13 10
>> rank_A=rank(A)
rank_A =
2
>> inv_B=inv(B)
inv_B =
0.1000 -0.3500 1.1500
0.1000 0.1500 -0.3500
-0.2000 0.7000 -1.3000
4.函数插值运算
已知0<=x<=10,求y=sin(x) 的线形样条插值
程序:
x=0:10;
y=sin(x);
x0=[ 3.4 4.7 6.5 8.2];
y0=interp1(x,y,x0); % 线形插值x1=0:0.1:10;
y1=sin(x1);
plot(x1,y1,'r:',x,y,'b*',x0,y0,'g.') % 插值比较
六、实验要求
利用所学知识,完成上述1至4项实验内容,并将实验结果写在实验报告上。

并在实验报告中回答下面问题:
1)矩阵的点乘运算和矩阵的乘运算有什么区别?
2)实验内容4中的线性插值图上有11个蓝色的点,请问这11个蓝色的点的x值分别是什么?
七、实验结论
通过本次实验,熟悉Matlab中各类数据,尤其是矩阵的定义、赋值和运用,了解Matlab的矩阵分析函数以及求线性方程组的数值解,熟悉多项式运算函数、数值插值。

实验三Matlab 基本编程方法(设计性实验-2课时)
一、实验目的:
1、掌握 Matlab 软件使用的基本方法;
2、熟悉 Matlab 程序设计的基本方法
二、实验设备
PC机,配置:PIII450/内存128M/显卡TNT32M/硬盘10G以上。

局域网、MATLAB7.0环境、投影仪
三、实验原理
根据MATLAB基本数值计算、数据分析和图形函数的功能,按程序设计数学要求完成对象计算的MATLAB程序。

四、实验内容:
1、编写命令文件:计算 1+2+…+n<2000 时的最大 n 值;
2、编写函数文件:分别用 for 和 while 循环结构编写程序,求 2 的 0 到 15 次幂的和。

3、如果想对一个变量 x 自动赋值。

当从键盘输入 y 或 Y 时(表示是),x 自动赋为 1;当从键盘输入 n 或 N 时(表示否),x 自动赋为 0;输入其他字符时终止程序。

五、实验步骤
1、编写命令文件:计算 1+2+…+n<2000 时的最大 n 值;
程序:
y=0;
n=0;
while y<2000
n=n+1;
y=sum(1:n);
end
n=n-1
运行结果:
n =
62
2、编写函数文件:分别用 for 和 while 循环结构编写程序,求 2 的 0 到 15
次幂的和。

程序(for):
sum=0;
for(i=0:15)
sum=sum+2^i;
end
y=sum
运行结果
y =
路漫漫其修远兮,吾将上下而求索- 百度文库
11 65535
程序(while):
sum=0;
i=0;
while(i<16)
sum=sum+2^i;
i=i+1;
end
y=sum
运行结果:
y =
65535
3、如果想对一个变量 x 自动赋值。

当从键盘输入 y 或 Y 时(表示是),x 自动赋为 1;当从键盘输入 n 或 N 时(表示否),x 自动赋为 0;输入其他字符时终止程序。

A=input('输入一个字符:');
a=A;
switch a
case a==y
x=1
case a==Y
x=1
case a==n
x=0
case a==N
x=0
otherwise
x=stop
end
六、实验要求
利用所学知识,完成上述3项实验内容,并将实验用程序和结果写在实验报告上。

并在实验报告中回答下面问题:
1)用FOR和WHILE语句有何要求?
2)用户数据的输入有那几种函数?
七、实验结论
通过本次实验,掌握 Matlab 软件使用的基本方法,熟悉 Matlab 程序设计的基本方法。

相关文档
最新文档