MATAB实验

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

MATLAB实验
报告
班级:
学号:
姓名:
指导教师:
成绩:
实验一MATLAB环境及命令
一、目的和要求
1、熟悉掌握matlab的启动和退出。

2、熟悉matlab的命令窗口和其他窗口。

3、熟悉常用菜单和工具栏。

4、使用帮助查找帮助信息。

二、内容和步骤
1、使用命令窗口
在命令窗口中输入以下命令并查看运行结果。

(1)单独显示命令窗口。

(2)使用标点符号修改命令。

①;用于不显示计算结果。

②%用做注释。

③…用于把后面的行与该行连接。

(3)数值显示格式的计算。

①format short e: 5位科学计数法表示。

②format short g: 从format short和format short e中自动选择最佳的计数方法。

③format long: 15位数字表示。

④format rat: 近似有理数表示。

(4)使用“Preferences”修改设置。

①单击对话框左栏的“command window”项,在右边的“numeric format”栏设置数据的显示格式。

②修改颜色。

对话框左栏的“colors”可以设置不同格式的文字的颜色。

(5)通过常用的操作键编辑命令。

主要有“↑”、“↓”“Esc”
2、查看历史命令窗口
3、查看工作空间窗口
4、变量编辑器窗口
5、修改搜索路径
在命令窗口中输入:
7、学会使用帮助
8、自我练习
(1)在命令窗口输入:
实验二MATLAB的数值计算
一、实验目的和要求
(1)熟悉掌握matlab变量的使用。

(2)熟悉掌握matlab的矩阵和数组的运算方法。

(3)熟悉matlab的多项式运用。

(4)掌握数据分析的方法。

二、内容和步骤
1、创建矩阵
(1)直接输入(2)用from:step:to方式:
(3)用linspace函数:(4)使用特殊矩阵函数,并修改元素:
(5)获取子矩阵
练习:
a、使用全下标方式获取a矩阵中的第二列子矩阵块。

b、使用logspace函数创建0~4π的行向量,有20个元素,查看元素分布情况。

(1)利用矩阵除法解线性方程组。

(2)利用矩阵的基本运算求解矩阵方程。

已知矩阵A和B满足关系式A
(3)计算矩阵的特征值和特征向量。

验证特征值和特征向量与该矩阵的关系xv=dv。

(4)利用科学记数进行矩阵运算。

3、多维数组
(1)产生100以内的10个数的行向量,并排序。

(2)查找49
所在的位置。

5多项式的运算
(1)多项式的运算,程序如下:
计算x 在[0,20]
内的多项式的值。

计算多项式的根。

(2) 多项式的拟合与插值。

对多项式y和y1分别进行插值,计算在5.5处的值。

6 数据统计
(1)产生一个魔方阵。

验证多项式的积,得出P1为G除以P2、P3的值。

(2)计算各行和列的值。

7、元胞数组和结构数组的使用
(1)创建结构数组用于表示3个学生的成绩。

(2)修改学社2的第
2个成绩为73.
(5) 将平均成绩放在元胞数组中,使用3种方法创建元胞数组。

方法一:
方法三:
(3)显示scores 域并计算平均成绩。

方法二:
实验三 MATLAB 的符号计算
目的和要求
(1)熟练掌握MATLAB 符号表达式的创建和代数运算。

(2)掌握符号表达式的化简和替换。

(3)熟练掌握符号微积分和积分变换。

(4)熟悉符号方程的求解。

1、创建符号表达式和符号表达式的操作
对符号表达式f=sinx,t
e
y g 2-=
(1)使用sym 命令创建符号表达式。

(2)使用sym 命令创建符号表达式f 、g 。

f=sym('sin(x)') g=sym('y/exp(-2*t)') f = sin(x) g =
y/exp(-2*t) syms x y t f=sym(sin(x)) g=sym(y/exp(-2*t)) f = sin(x) g =
findsym(g) findsym(g,1) findsym(g,2) ans = t, y ans = y ans = y,t
x=0:10;
y=subs(f,x) y =
0 0.8415 0.9093 0.1411 -0.7568 -0.9589 -0.2794 0.6570 0.9894 0.4121 -0.5440
f1=subs(f,'5') y1=double(f1) y2=eval(f1) y3=numeric(f1) f1 = sin((5)) y1 = -0.9589 y2 = -0.9589
Digits = 32
ans =
-.95892427466313846889315440615599 ans =
-.9589242747
f=sym('sin(x)')
finverse(f)
finverse(g)
finverse(g,'t')
compose(f,g)
compose(f,g,'z')
diff(f)
diff(g)
diff(g,'t')
syms t x
limit((sin(x+t)-sin(x))/t,t,0) int(f)
int(g)
int(g,'t')
int(g,'t',0,10)
f =
sin(x)
ans =
asin(x)
ans =
y*exp(-2*t)
ans =
-1/2*log(y/t)
ans =
sin(y/exp(-2*t))
ans =
sin(z/exp(-2*t))
ans =
cos(x)
ans =
1/exp(-2*t)
ans =
2*y/exp(-2*t)
ans =
cos(x)
ans =
-cos(x)
ans =
1/2*y^2/exp(-2*t)
ans =
1/2*y/exp(-2*t)
ans =
1/2*y*exp(20)-1/2*y
(1)符号表达式的代数运算
f=sym('x^2+3*x+2')
g=sym('x^3-1')
f+g
f~=g
f =
x^2+3*x+2
g =
x^3-1
ans =
x^2+3*x+1+x^3
ans =
1
(2)符号表达式化简
pretty(f)
2
x + 3 x + 2 f1 =
2+(3+x)*x
f2 =
(x+2)*(x+1)
simplify:
x^3-1
radsimp:
x^3-1
combine(trig):
x^3-1
factor:
(x-1)*(x^2+x+1)
expand:
x^3-1
combine:
x^3-1
convert(exp):
x^3-1
convert(sincos):
x^3-1
convert(tan):
x^3-1
collect(x):
x^3-1
mwcos2sin:
x^3-1
ans =
x^3-1
(3)符号表达式与多项式的转换。

f1=sym()
h=sym2poly(f)
f=poly2sym(h)
h =
1 3 2
f =
x^2+3*x+2
符号矩阵的操作
A=sym('[x x^2;2*x cos(2*t)]')
A.'
det(A)
diff(A)
A =
[ x, x^2]
[ 2*x, cos(2*t)]
ans =
[ x, 2*x]
[ x^2, cos(2*t)]
ans =
x*cos(2*t)-2*x^3
ans =
[ 1, 2*x]
[ 2, 0]
实验四MATLAB的计算可视化和GUI设计目的和要求
(1)熟悉掌握matlab二维曲线的绘制和修饰。

(2)掌握三维曲线的绘制。

(3)熟悉掌握各种特殊图形的绘制。

(4)掌握句柄图形的概念和GUI设计。

内容和步骤
1、绘制二位曲线
2、绘制多条二阶系统时域曲线和三维图形
绘制多条二阶系统时域曲线和三维图形的方法如下。

(1)在同一平面绘制多条二阶系统时域曲线。

a:绘制一条阻尼系数zeta=0的二阶系统曲线。

b:使用hold on 命令在同一窗口叠绘4 条曲线。

C: 添加文字标注
d: 使用交互式图形命令
修改得出图形:
(2)使用句柄图形
a:获得图形对象句柄
b:设置图形对象属性
修改得出图形:
(3)使用图形窗口功能。

修改对象属性。

选择菜单“View”→“property Editor”命令可以打开图形属性窗口,单机图形中的对象就可以打开当前对象属性。

(4)绘制三维图形
a. 将x、y和zeta构成三维曲线
b.色图显示和控制
3 特殊图形
(1)绘制条形图
(2)绘制实心图
(3)绘制阶梯图
(4)绘制火柴杆图
特殊图形如下:
实验5 MATLAB程序设计
目的和要求
1、熟练掌握MATIAB 的程序流程控制结构。

2、熟练掌握M 文件的结构和函数调用。

3、掌握内联函数和函数句栖的使用。

4、了解程序性能窗口
内容和步骤
MATLAB 的语法规则简洁, 编程效率高. 作为1 个完整的程序语言,MATLAB 也有外部各种程序流程控制、文件格式和函数凋用的规则,通过对函数的调用就能够组成庞大的程序,完成复杂功能。

1.使用程序流程控制
(1)按M 函数文件格式创建文件开头
(2)用while 循环实现程序功能
命令行显示结果:
(3)使用fur循环实现
(4)当某个元素大于50时,退出循环结构程序修改如下
5)将该.m 文件生成P 码文件
将shiyan0501 m 删除,重新运行该文件,结果如下:
2 使用函数调用
(1)在MATLAB 界两个选择菜单"File”一”New”一”Function”命令,创建一个新的函数文件,修改输入输出参数和函数名:
(2)子函数cal
(3)主函数Shiyan0502求主函数计算arcsinx 输入参数为x,输出参数为aresinx 计算结果。

(4) 程序性能剖析。

选择菜单“View”- “Proflier”命令:或使用在命令窗口输入“pofile viewe”命令都可以打开程序性能剖析窗口
(5) 程序的调试。

当有多个函数调用时,由于函数变量的工作空间是独立的,被调用的函数执行结束后变量就消失,因此调试时要使用MA TLAB 调试器查看运行过程中的变量值.
(6)使用函数句柄。

在命令窗口使用函数句柄调用函数。

(7)使用全局变量
子函数cal 没有输入变量,而用全局变量n 传递。

3、利用泛函命令实现数值分析
(1)使用函数调用的方法,
1 创建函数shiyan0503 实现上述表达式关系
2 查看输出波形
3 利用函数求过零点
4 利用函数句柄求过零点
5 利用函数句柄求极小值
(2)使用内联函数f
2 绘制曲线图
3 求过零点
4 求极小值
(3)使用字符串1 创建字符串
2 绘制曲线图
3 求零点
实验6 线性控制系统分析与设计
目的和要求
1 熟练掌控线性系统的各种模型描述和转换。

2 熟练掌握结构框图传递函数的计算。

(3) 熟练掣:握时域、频域和根轨迹分析,
4超前和滞后校正,
内容和步骤
MATLAB 的控制系统工具箱提供了对线性系统建模、分析和设· MATLAB 是控制领域最主要的计算机辅助分析和设计语言,掌握了控握了一个方便的分析和设计控制系统的工具。

1、由结构框图获得系统数学模型
(1)计算系统总的传递函数模型。

使用append命令实现各模型块未连接的系统矩阵。

>>G1=tf(1,[2 0]);
>>G2=tf(1,[1 1 0]);
>>G3=tf(1,[1 1]);
>>G4=tf(5,[3 4]);
>>G5=tf(-1 1);
>>G6=tf(-1 1);
>>G7=tf(-1 1);
>>GG=append(Cl,G2,G3,G4,G5,G6,G7);
(2)建立Q矩阵指定连接关系
Q=[1 6 5;
2 1 7;
3 2 0;
4 3 0;
5 4 0;
6 2 0;
7 3 0;]
INPUTS=1;
OUTPUTS=4;
G
num1=[0.5 0];
den=[1 -1.5 0.5];
G1=tf(num1,den,-1)
Transfer function:
0.5 z
-----------------
z^2 - 1.5 z + 0.5
Sampling time: unspecified
num2=[0 0.5];
den=[1 -1.5 0.5];
G2=filt(num2,den)
Transfer function:
0.5 z^-1
-----------------------
1 - 1.5 z^-1 + 0.5 z^-2
Sampling time: unspecified
实验7 Simulink仿真环境
目的和要求
(1)熟悉Simulink 的模型窗口。

(2)熟练掌握连续系统和离散系统的模型创建和分析,
(3)掌握子系统和封装的方法。

(4)掌握用S-Function 编写模型。

内容和步骤
MATLAB的Simulink 工具箱提供了对系统模型框图的建立系统和离散系统进行仿真分析。

1 使用Simulink模型窗口创建模型。

相关文档
最新文档