MATLAB语言与控制系统仿真-参考答案-第1章
- 格式:doc
- 大小:592.50 KB
- 文档页数:13
MATLAB语言与控制系统仿真实训教程-参考答案-第1章
1 1.6 MATLAB操作基础-实训
1.6.1实训目的
1. 熟悉MATLAB语言环境,识别MATLAB桌面和命令窗口,命令历史窗口,工作空间窗口等;
2. 练习设置变量精度或变量显示方式;
3. 练习通过MATLAB编程解决一些实际问题;
4. 通过作图总结自变量增量设置对作图结果的影响;
5. 学会求解方程、方程组的基本方法;
6. 练习M文件的建立与执行;
7. 学会进入工具箱的演示系统,以便于进一步了解和学习感兴趣的知识,为以后的自主学习奠定基础。
1.6.2实训内容
1. 根据表1-2中要求,先使用命令format改变变量的精度或显示方式,然后键入表达式,并将运行结果填入表1-2中,并练习使用clc 清除命令窗口中内容。
表1-2 命令行变量精度设置记录表
命令行键入表达式 format bank format short format short e format rat 备注
pi 3.14 3.1416 3.1416e+000 355/113
exp(1) 2.72 2.7183 2.7183e+000 1457/536 1e
exp(-0.5) 0.61 0.6065 6.0653e-001 743/1225 5.0e
sqrt(2) 1.41 1.4142 1.4142e+000 1393/985 2
8^2 64.00 64.0000 6.4000e+001 64 28
3^4 81.00 81.0000 8.1000e+001 81 43
>> a=[pi;exp(1);exp(-0.5);sqrt(2);8^2;3^4];
>> format bank;
>> a
a = 3.14
2.72
0.61
1.41
64.00
81.00
>> format short
>> a
a =
3.1416
2.7183
0.6065
1.4142
64.0000
81.0000
>> format short e
>> a
a =
3.1416e+000
2.7183e+000 MATLAB语言与控制系统仿真实训教程-参考答案-第1章
2 6.0653e-001
1.4142e+000
6.4000e+001
8.1000e+001
>> format rat
>> a
a =
355/113
1457/536
743/1225
1393/985
64
81
2. 编写MATLAB程序计算,根据程序运算结果填空(要求保留两位小数)
(1)58.135.0ea=( 4.29 );
程序为: a=exp(-0.5)+sqrt(13.58)
>> format bank;
>> a=exp(-0.5)+sqrt(13.58)
a =
4.29
(2)已知两个圆的半径分别为cm5.31r, cm62r,则两个圆的周长分别为1l( 21.99 )cm, 2l( 37.70 )cm;面积分别为1s( 38.48 )2cm,2s( 113.10 )2cm
程序:
>> format bank;
>> r=[3.5 6];
>> [2*pi*r;pi*r.*r]
提示:圆的周长计算公式为:rL2,圆的面积2rS,其中r为圆的半径。
>> format bank;
>> r=[3.5 6];
>> [2*pi*r;pi*r.*r]
ans =
21.99 37.70
38.48 113.10
(3)已知一大球半径为cm281r, 现从大球的中心挖去一个半径cm102r的小球后得到一个空心球,则
空心球的体积V=(87763.53)3cm ;
小球的表面积S( 1256.64 )2cm;
程序为:
>> format bank; MATLAB语言与控制系统仿真实训教程-参考答案-第1章
3 >> r1=28;r2=10;
>> 4/3*pi*r1^3-4/3*pi*r2^3
>> 4*pi*r2*r2
提示:球的体积计算公式为:334rV,表面积24rS,其中r为球体的半径。
>> format bank;
>> r1=28;r2=10;
>> 4/3*pi*r1^3-4/3*pi*r2^3
ans =
87763.53
>> 4*pi*r2*r2
ans =
1256.64
3. 练习MATLAB命令的基本操作
(1)常数矩阵输入
a1=[1 2 3]
a2=[1;2;3]
记录结果,比较显示结果有何不同。答:a1为行矩阵,a2为列矩阵。
b=[1 2 5]
b=[1 2 5];
记录结果,比较显示结果有何不同。答:加分号后不显示当前结果。
a3=[sqrt(3),5/4,exp(-0.2);1:3]
a4=a3'
记录结果,比较变量加“'”后的区别。
>> a3=[sqrt(3),5/4,exp(-0.2);1:3]
a3 =
1.7321 1.2500 0.8187
1.0000 2.0000 3.0000
>> a4=a3'
a4 =
1.7321 1.0000
1.2500 2.0000
0.8187 3.0000
变量加“'”代表求原矩阵的转置矩阵。
(2)作循环指令程序
通过建立M文件求取表达式?2009998321的值。
sum=0;
for i=1:1:200
sum=sum+i;
end
在命令平台上键入sum后回车(键入Enter键),记录计算结果。 MATLAB语言与控制系统仿真实训教程-参考答案-第1章
4 >> sum=0;
for i=1:1:200
sum=sum+i;
end
>> sum
sum =
20100
4. 增量与绘图,通过仿真结果回答问题
(1)程序1
t1=0:4*pi;
y1=sin(2*t1);
plot(t1,y1);
程序1可得到图形正弦曲线A(增量为默认值1)。
(2)程序2
t2=0:0.2:4*pi;
y2=sin(2*t2);
plot(t2,y2);
程序2可得到图形正弦曲线B(增量为0.2)。 MATLAB语言与控制系统仿真实训教程-参考答案-第1章
5
(3)程序3
t3=0:0.01:4*pi;
y3=sin(2*t3);
plot(t3,y3);
程序3可得到图形正弦曲线C(增量为0.01)。
(4)程序4
t4=0:0.00001:4*pi;
y4=sin(2*t4);
plot(t4,y4);
程序4可得到图形正弦曲线D(增量为0.00001): MATLAB语言与控制系统仿真实训教程-参考答案-第1章
6
回答问题:
① 通过MATLAB仿真得到的正弦曲线A、B、C有何区别?
答:曲线A失真严重,曲线B略有失真,曲线C几乎没有失真。
② 通过MATLAB仿真得到的正弦曲线C、D有何区别?
答:曲线C和曲线D区别不大。
③ 你得到的结论是通常情况下增量(步长)取多少为宜?
答:通常情况下增量(步长)取0.01即可满足一般的仿真要求和仿真精度。
5. 解方程、方程组(要求保留4位小数)
(1)0312512.5657.1069.3212345xxxxx
>> d=[1 -21 3.69 -10.57 56.12 -3125];
>> roots(d)
ans =
20.8577
2.4747 + 2.6023i
2.4747 - 2.6023i
-2.4035 + 2.4168i
-2.4035 - 2.4168i
(2)019852522.8258122346sssss
>> a=[1 0 12 -258 8.2 -52 -19852];
>> roots(a)
ans =
-3.1684 + 6.3436i
-3.1684 - 6.3436i
6.3693
-3.7928
1.8801 + 3.5790i MATLAB语言与控制系统仿真实训教程-参考答案-第1章
7 1.8801 - 3.5790i
(3)解方程组
8.3007.768.1053.2525.0529.116.32zyxzyxzyx
>> a=[1 2 -3.6;2 -5 0.25;5 10.68 7.7];
>> b=[11.9;-25.3;300.8];
>> a/b
>> a\b
ans =
18.5795
12.9441
9.0466
6. 编程计算解决并回答问题
(1)在打谷场上,有一个近似于圆锥形的大米堆,测得底面直径是6米,高是15米。每立方米大米约重735千克,这堆大米大约重多少千克?
(提示:圆锥体体积=sh31,s为底面积,h为圆锥体高度)
>> h=15;
>> d=6;
>> s=pi*(d/2)*(d/2);
>> v=1/3*s*h
v =
141.3717
>> G=v*735
G =
1.0391e+005
答:这堆大米大约重1.0391510千克。
(2)一圆柱形金属构件,直径为20cm,长为110cm,质量为362kg,求此金属的密度(3g/cm)。
>> d=20;
>> L=110;
>> v=pi*(d/2)*(d/2)*L;
>> m=362000;
>> rou=m/v
rou =
10.4753
(3)编写程序求取?19919719527252321s
>> sum=0;
for i=21:2:199
sum=sum+i;