资源描述
学年学期 课程名称 实验名称 实验室 专业年级 学生姓名 学生学号 提交时间 成 绩 任课教师
国北农林布机大学
课程实验报告
2015-2016学年第2学期MATLAB与科学计算
实验一 MATLAB环境与数值计算
测量测绘实验中心计算机室土木13级
201302016-06-02
王增红水利与建筑工程学院
实验四Simulink仿真1、目的和要求
掌握Simulink的模型窗口、创立过程,会设置模块和信号线参数。
2、内容和步骤
参见教材7. 5.2小节内容。
3、实验报告提交要求
(1)使用Simulink模型窗口用两种方法建立二阶系统的仿真模型,并写出具体步骤。
法一:
> 翻开simulink窗口,新建一个模型。
> 在"Sources”模块库选择"Step"模块,在"Conyinuous"模块库选择"Transfer Fen”模块,在"Malh Operations*模块库选择“Sum*模块,在“Sinks*模块库选择"Scope”模块。
连接各模块,从信号线引出分支点,构成环闭系统。
> 设置模块参数,翻开“Sum”模块"参数设置”对话框,将“Icon shape"设置为"rectangular",
将“Lisi of signs*设置为“ I 一” .在"Transfer Fen”模块的"参数设置”对话框中,将坟墓多 项式“Denominator”设置为"[10.60/。在"Step”模块的"参数设置”对话框中,将“Steptime" 修改为0。
> 添加信号线文本注释。
> 方针并分析。
在 Simulink 模型窗口,选择菜单“Simulation" -♦ **Simulation parameters,••w 命令,在"Solver" 页将“Stop time”设置为15,单机“Start simulation*按钮,示波腓显示时间为15s,翻开示波器 的“y坐标设置”对话框,将y坐标的“Y-min"改为0, "Y-max”改为2。运行后得到以下列图。
法二:将法一中系统的构造修改成使用积分模块(integrator)和零极点模块(zero-pole)串联,反响使用“malh operations"模块库中的“gain”模块构造成反响环的增益为T,二阶系统构造如图•所示,因此运行后的波形 hrd可编辑|欢迎下载备战考试千锤百练
备战考试千锤百练
图也与法一所得到的波形图一样。
图二
并进展仿真。
(2)使用Simulink模型窗口创立如下所示的模型,
步骤:
> 选择"sources”模块库中选择两个"sine wave"模块,在"Math Operations”中选择"sum"模块,在"sinks” 模块中选择"scope"模块,在"continuous”模块库中选择"integrator"模块。
> 然后用信号线连接个模块,构成闭环系统。
图一
图二
> 仿真并分析,单击工具栏中的“start simulation”按钮开场仿真,在示波器上显示仿真波形。
实验一 MATLAB环境与数值计算1、目的和要求
(1)熟练掌握MATLAB的启动和退出、MATLAB的命令窗口:常用选单和工具栏,通过实例初步认识对MATLAB 的命令和程序运行等。
(2)熟练掌握MATLAB变量的使用;
(3)熟练掌握矩阵的创立、掌握MATLAB的矩阵和数组的运算:
(4)熟悉MATLAB多项式的运用,掌握MATLAB的拟合和插值方法、积分运算和统计运算。
2、内容和步骤
参见教材实验一、二。
3、实验报告提交要求
(1)用MALTAB命令和M程序两种方式求解三元一次方程组。
(2a - b + 3c = 5
答:以求解三元一次方程组卜a+ b -5c = 5为例:
(4a - b + c = 9(2)用MALTAB命令和M程序两种方式求解3X3复数矩阵的模和相角。
MALTAB命令
M程序
» a=[2 -1 3:3 1 -5:4 -1 1]:
a=[2 -1 3;3 1 -5;4 -1 1];
» b=[5;5;9];
b=[5;5;9];
» x=a\b
x=a\b
X =
运行结果:
2
X =
-1
2
0
-1
0
答:
MALTAB命令
M程序
» a=fix (20ord可编辑|欢迎下载
rand(3, 3))
a=fix(20*rand(3
/3))
a =
b=magic(3);
1618
5
A=a+b*i;
1812
10
r=abs(A)
21
19
theta=angle(A)*
180/pi
» b=magic(3)
* »
运行结果:
» A=a+b*l;
a =
» r=abs(A)
15013
r =
191615
17.8885
18. 0278
7.8102
131814
18. 2483
13. 0000
12. 2066
r =
4.4721
9. 0554
19. 1050
17.00001.0000
14.3178
» t he ta=ang1e(A)* 180/p i
19. 235416. 7631
16. 5529
theta =
13. 601520. 1246
14.1421
26. 5651
3. 1798
50. 1944
theta -
9. 4623
22.6199
34.9920
28. 072590. 0000
24.7751
63.4349
83. 6598
6. 0090
8. 972617. 3540
25.0169
17. 102726. 5651
8. 1301
(3)创立一个4X4矩阵,求逆矩阵、产生对角矩阵、求矩阵的秩等。
» a=fix(20*rand(4,4))
a =
12610
101133
1591512
18065
» ni=inv(a)
ni =
-0.00540. 0251-0. 0294
0. 0664
-0. 00790. 08630. 0074
-0. 0536
-0. 1375-0. 11740. 1740
-0. 0722
0. 18460.0507-0. 1029
0. 0474
» duijiao=diag(a) duijiao =
1
11
15
5
» zhi=rank(a)
zhi =
4
(4)创立两个4X4矩阵进展加、减、乘法和左除运算。
» a=fix(10*rand(4,4)+1) a =
3723
8929
31033
66910
» b=fix(10*rand(4»4)+1) b =
4568
24104
3936
7681
» a-b
ans =
-12-4-5
65-85
010-3
-1019
» a+b ans =
712811
10131213
61969
13121711
» a*b ans =
537911867
119148216121
6210015185
133195203136
» a\b ans =
14. 0000-5. 000020. 000028. 0000
-2. 13701.6438-3.0822-3.7397
5.4110-0.93156.24669.2192
-11.28773.4521-14.9726-22.7534
(5)创立一个一元四次多项式,进展三
5项式求位,求根计算。
解:以函数 y=5x'+4x3+3x2+2x+l 为例:
» P=[5,4,3, 2, 1]
» roots(p) %计算多项式的根
P =
ans =
54321
0. 1378 + 0. 6782 i
» P=[5,4,3, 2, 1];
0. 1378 - 0. 6782 i
» polyval (p, 3) %计算x=3时多项式的值
-0. 5378 + 0. 3583 i
ans =
-0. 5378 - 0. 3583i
547
(6)创立一个一元三次多项式,取十个不同自变量值,计算多项式的值,并分别进展一阶、二阶拟合,图示 原始数据和拟合结果
解:
» p=fix(10*rand(i,4)+l)
» x=l:2:20;
» y=polyval (p, x):
» pl=polyfit(x, y, 1) :p2=polyfit (x, y, 2);
» yl=polyval(pl, x);y2=polyval(p2, x);
» plot(x, yl,' r )
» hold on
» plot (x, y2)
(7)自建一个一元三次多项式,取十个不同自变量值,计算多项式的值,并用线性、相邻点和三次插值,图示其插值结果。
» p=fix(10*rand(l, 4)+1)P =
7136» x=l:3:30;
» y=polyval(p, x):
» y01=intcrpl (x, y, 12)与线性插值yOl =
12774» y02=interpl (x, y, 12,' nearest1)%相邻点插值
15593» y03=interpl (xF y, 12,' cubic') %三次插值 y03 =
1.2310e+004» plot(x, y)
» hold on» plot (12, yO 1, * or*)
» plot(12,y02,,*g,)» plot (12, y03/+*)
(8)给出多组温度的测定值(内含平均温度、最低、最高温度),并求其平均温度、最低、最高温度的平均 值、标准差等。
解:
» a=f i x (40*rand (6, 3) + 1)Oord可编辑|欢迎下载
a =
39
32
28
20
39
31
33
27
30
6
2
16
17
34
27
37
38
7
» mean (a)舟各列的平均值 ans =
25. 333328. 666723. 1667» std(a)先各列的标准差
ans =
13.063913.76479.5795
国北农林布茨大学课程实验报告
学年学期2015-2016学年第2学期课程名称 MATLAB与科学计算
实验名称实验二MATLAB的符号计算与可视化实验室测量测绘实验中心计算机室
专业年级土木13级学生姓名
学生学号 提交时间2016提6-02
成 绩 任课教师王增红
水利与建筑工程学院《ord可编辑|欢迎下载
实验二MATLAB的符号计算与可视化1、目的和要求
(1)熟练掌握MATLAB符号表达式的创立、代数运算及化简。
(2)熟悉符号方程的求解°
(3)熟练掌握MATLAB二维曲线、三维图形的绘制。
(4)熟练掌握各种特殊图形的绘制。
2、内容和步骤
参见教材实验三、四。
3、实验报告提交要求
'、1)使用sym和syms命令创符号变量和符号表达式;
sym命令
syms命令
» symC x',' real')
» syms x y real
ans =
» yy=x +iord可编辑|欢迎下载
(7)随机产生正态分布的数据100个,给出统计数据,并绘制饼状图。
y*3
X
yy =
» symC y=3*x*8+7*x*6+x+r) ans =
y = 3*x'8 + 7*x*6 + x + 1
y'3*i + x
(2)用常数替换符号变量。
解: >> syms x y» z=x*6+y*5+x*y
z =x*6 + x*y + y*5
» subs(z, x, 5) %用 5 替换了 x ans =y*5 + 5*y + 15625
(3)寻找两个一元三次符号表达式,分别进展其符号表达式的加、减、乘等运算:
两个一元三次符号表达式
加、减、乘运算
» yl=symC 3*x'3+2*x*2+x+10,)
» yl+y2 %符号表达式相加
yi =
ans =
3*x-3 + 2*x-2 + x + 10
8*x*3 + 5*x-2 + 2*x + 30
» y2=symC 5*x*3+3*x*2+x+20*)
» yl-y2 %符号表达式相减
y2 =
ans =
5*x-3 + 3*x'2 + x + 20
-2*x-3 - x'2 - 10
» yl*y2 %符号表达式相乘
ans =
(3*x*3 + 2*x-2 + x + 10)*(5*x*3 +
3*x*2 + x + 20)
(4)寻找一个可化简的符号表达式,并化简:
解: » y=symC x,7+x*5+T )y =
x*7 + x'5 + 1» factor(y)
ans =(x*2 + x + l)*(x 5 - x*4 + x"3 - x + 1)
(5)绘制二维曲线,寻找四种二维的曲线.把图形窗口分割为2列2行,并分别标明图名、坐标等。
解:
M文件
x=-2*pi:0.01:2*pi; subplot(221) plot(x,sin(x)) title(*y=sin(x)1) xlabel('x') ylabel('y') subplot(222) plot(x,cos(x)) title(r y=cos (x)') xlabel('x') ylabel('y') subplot (223) plot (x,x.A2) title('y=xA2') xlabel('x') ylabel('y') subplot (224) plot(x,exp(x)) axis([-5,5,0,12]) title('y^eAx') xlabel('x') ylabel('y*)(6)绘制特殊图形.参照教材中相关内容,选取不同的数据绘制三维条形图:
M文件y-fix(50*rand(4,3)+1)
x=2:5bar3(xz y)
解:
M文件
a=fix(100*randn(10,10)) sl=0;s2=0;s3=0;s4=0;
for n=l:100if a (n)<=-100 sl=sl+l;
elseif a (n)<=0 s2=s2+l;elseif a (n)<100 s3=s3+l;
elses4=s4+l;
end end y=[slz s2,s3z s4] explode=(l 111];
pie(yzexplode,{' (<=-100) ', ' (-99〜0)' (1
99) ', ' (>=100),})
(7)题要求
注:所有题目要求不同的学生采用不同的符号数字,报告中应列明命令或M文件及结果,(5) 用M文件表达。
Uord可编辑欢迎下载
国北农林布机大学课程实验报告
学年学期2015-2016学年第2学期课程名称MATLAB与科学计算
实验名称实验三MATLAB程序设计实验室测量测绘实验中心计算机室
专业年级级学生姓名
学生学号]提交时间2016-06-02
成 绩 任课教师王增红
水利与建筑工程学院Uord可编辑欢迎下载
备他考试千锤百练
实验三MATLAB程序设计1、目的和要求
(1)熟练掌握MATLAB的程序流程控制构造。
(2)熟练掌握M文件的构造。
(3)熟练掌握函数调用和参数传递。
2、内容和步骤
参见教材实验五。
3、实验报告提交要求
用for语句、while和函数调用:种方式分别对卜述两题进展编程,并上机进展操作、运行出结果。
厂 X厂
(1) cosx = l1+ (-1)"1•…n230 即可2!4!(2〃)!
While语句: function cos234(x, n) f=l:sum=l;i=l: while i<=n
f=f*(-l)*x'2/(2*i-l)/(2*i); sum=sum+f;
i=i+l;
end
sum
结果:
» cos234(pi,30) sum =
-1
[command Window
» cos234 (pi, 30) sun -
-1
»
函数调用
function z=cosl23(x, n)
y=l;
for m=l:n
y=y+(-l)-m*x'(2*m)/j i echeng(2*m);
end
y
function s=jiecheng(n)
s=l;
for i=l:n
s=i*s;
end
结果:
» cosl23(pi,32)
y =
-1. 0000
» cosl23 (pi, 32) y =
-1.0000
»l
For语句 function z=cos222(x, n) y=l;
for m=l:n s=l;
for i=l:2*m s=s*i;
end y=y+(-l) 'm. *x' (2*m) /s; end
y
结果:
» cos222(pif34) y =
-1. 0000
» co$222(pi,34) y =
-1.0000
»l
hrd可编辑|欢迎下载
备战考试阡锤百练X2 丁 X4£用
(2) ln(l + X)= X--- + ——H + (TVxWl) n22000 即可23472 + 1
For语句 function zky(x, n) s=x;
for i=l:n
s=s+(-l)*i*x*(i+l)/(i+l): end
s
结果:
» zky (1,2000)
s =
0. 6934
0
» zky (1,2000) x =
0.6934
While语句 function zky2(x, n) s=x;j=l;
while j<=n
s=s+(-l) * j*x* (j+l)/(j+l);
j=j+l; end
s
结果:
» zky2( 1,2000)
s =
0. 6934
1
» zky2 (l,2000)
0.6934
函数调用 function zky3(x,n)
s=x:
for i=l:n s=s+xx(x, i):
end
s
function y=xx(x,n) y=(-l) 'n*x' (n+l)/(n+l);
结果:
» zky3( 1,2000) s =
0. 6934
» zky3 (1,2000)
5 -
0.6934
国北农林布茨大学课程实验报告
学年学期2015-2016学年第2学期课程名称MATLAB与科学计算
实验名称实验四 Simulink仿真实验室测量测绘实验中心计算机室
专业年级土级学生姓名
学生学号 提交时间2016-06-02
成 绩 任课教师王增红
水利与建筑工程学院Word可编辑|欢迎下载
备他考试千锤百练
展开阅读全文