完整版MATLAB课后实验答案1.docx
- 文档编号:2180317
- 上传时间:2022-10-27
- 格式:DOCX
- 页数:20
- 大小:21.88KB
完整版MATLAB课后实验答案1.docx
《完整版MATLAB课后实验答案1.docx》由会员分享,可在线阅读,更多相关《完整版MATLAB课后实验答案1.docx(20页珍藏版)》请在冰豆网上搜索。
完整版MATLAB课后实验答案1
实验一MATLAB 运算基础
1. 先求下列表达式的值,然后显示 MATLAB 工作空间的使用情
况并保存全部变量。
(1) z = 2sin 850
1
2
2
1 + 2i ⎤
5 ⎥
2 2
(3) z = e0.3a - e-0.3a sin(a + 0.3) + ln 0.3 + a ,a = -3.0, - 2.9, L , 2.9, 3.0
3
⎧t 20 ≤ t < 1
(4) z = ⎪t 2 - 11 ≤ t < 2 ,其中 t=0:
0.5:
2.5
4
⎩
解:
M 文件:
z1=2*sin(85*pi/180)/(1+exp
(2))
x=[2 1+2*i;-.45 5];
z2=1/2*log(x+sqrt(1+x^2))
a=-3.0:
0.1:
3.0;
3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)
t=0:
0.5:
2.5;
z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1)
4. 完成下列操作:
(1) 求[100,999]之间能被21整除的数的个数。
(2) 建立一个字符串向量,删除其中的大写字母。
解:
(1) 结果:
m=100:
999;
n=find(mod(m,21)==0);
length(n)
ans =
43
(2). 建立一个字符串向量 例如:
ch='ABC123d4e56Fg9';则要求结果是:
ch='ABC123d4e56Fg9';
k=find(ch>='A'&ch<='Z');
ch(k)=[]
ch =
123d4e56g9
实验二 MATLAB 矩阵分析与处理
⎡ E
1. 设有分块矩阵 A = ⎢3⨯3
R ⎤
3⨯2
2⨯2
⎡ ER + RS ⎤
2
⎣⎦
解:
M文件如下;
5. 下面是一个线性方程组:
⎡ 1
⎢ 2
⎢
⎢ 1
⎢ 3
⎢
⎢⎣ 4
1
3
1
4
1
5
1 ⎤
4 ⎥ ⎡ x ⎤ ⎡0.95⎤
1
5 ⎥ ⎢ 2
⎥ ⎢ x ⎥ ⎢0.52⎥⎦
6 ⎥⎦
(1) 求方程的解。
(2) 将方程右边向量元素 b3 改为 0.53 再求解,并比较 b3 的变化和解的相对变化。
(3) 计算系数矩阵 A 的条件数并分析结论。
解:
M 文件如下:
实验三 选择结构程序设计
1. 求分段函数的值。
⎧ x2 + x - 6x < 0且x ≠ -3
⎪
⎩
用 if 语句实现,分别输出=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0 时的 y 值。
解:
M 文件如下:
2. 输入一个百分制成绩,要求输出成绩等级 A、B、C、D、E。
其中 90 分~100 分为 A,
80 分~89 分为 B,79 分~79 分为 C,60 分~69 分为 D,60 分以下为 E。
要求:
(1) 分别用 if 语句和 switch 语句实现。
(2) 输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
解:
M 文件如下
3. 硅谷公司员工的工资计算方法如下:
(1) 工作时数超过 120 小时者,超过部分加发 15%。
(2) 工作时数低于 60 小时者,扣发 700 元。
(3) 其余按每小时 84 元计发。
试编程按输入的工号和该号员工的工时数,计算应发工资。
解:
M 文件下
实验四 循环结构程序设计
2
6 =
1 1 1 1
12 22 32 n2
时,结果是多少?
要求:
分别用循环结构和向量运算(使用 sum 函数)来实现。
解:
M 文件如下:
运行结果如下:
1
352n - 1
(1) y<3 时的最大 n 值。
(2) 与
(1)的 n 值对应的 y 值。
解:
M—文件如下:
,求:
3. 考虑以下迭代公式:
x
b + x
n
其中 a、b 为正的学数。
(1) 编写程序求迭代的结果,迭代的终止条件为|xn+1-xn|≤10-5,迭代初值 x0=1.0,迭代
次数不超过 500 次。
-b ± b2 + 4a
(2) 如果迭代过程收敛于 r,那么 r 的准确值是,当(a,b)的值取(1,1)、
2
(8,3)、(10,0.1)时,分别对迭代结果和准确值进行比较。
解:
M 文件如下:
运算结果如下;
25
5. 若两个连续自然数的乘积减 1 是素数,则称这两个边疆自然数是亲密数对,该素数
是亲密素数。
例如, ×3-1=5,由于 5 是素数,所以 2 和 3 是亲密数, 是亲密素数。
求[2,50]
区间内:
(1) 亲密数对的对数。
(2) 与上述亲密数对对应的所有亲密素数之和。
解:
M 文件:
实验五 函数文件
1
+,编写一个 MATLAB 函数文件 fx.m,使得
( x - 2)2 + 0.1( x - 3)4 + 0.01
调用 f(x)时,x 可用矩阵代入,得出的 f(x)为同阶矩阵。
解:
函数 fx.m 文件:
functionf= fx(x)
%fxfx 求算 x 矩阵下的 f(x)的函数值
A=0.1+(x-2).^2;
B=0.01+(x-3).^4;
f=1./A+1./B;
命令文件:
clc;
x=input('输入矩阵 x=');
f=fx(x)
运算结果:
5. 已知 y =f (40)
f (30) + f (20)
(1) 当 f(n)=n+10ln(n2+5)时,求 y 的值。
(2) 当 f(n)=1×2+2×3+3×4+...+n×(n+1)时,求 y 的值。
解:
(1)
函数 f.m 文件:
function f=f(x)
f=x+10*log(x^2+5);
命令文件:
clc;
n1=input('n1=');
n2=input('n2=');
n3=input('n3=');
y1=f(n1);
y2=f(n2);
y3=f(n3);
y=y1/(y2+y3)
(2).
函数 g.m 文件
function s= g(n)
for i=1:
n
g(i)=i*(i+1);
end
s=sum(g);
命令文件:
clc;
n1=input('n1=');
n2=input('n2=');
n3=input('n3=');
y1=g(n1);
y2=g(n2);
y3=g(n3);
y=y1/(y2+y3)
实验八 数据处理与多项式计算
2. 将 100 个学生 5 门功课的成绩存入矩阵 P 中,进行如下处理:
(1) 分别求每门课的最高分、最低分及相应学生序号。
(2) 分别求每门课的平均分和标准方差。
(3) 5 门课总分的最高分、最低分及相应学生序号。
(4) 将 5 门课总分按从大到小顺序存入 zcj 中,相应学生序号存入 xsxh。
提示:
上机调试时,为避免输入学生成绩的麻烦,可用取值范围在 [45,95]之间的随机
矩阵来表示学生成绩。
解:
M 文件:
clc;
t=45+50*rand(100,5);
P=fix(t); %生成 100 个学生 5 门功课成绩
[x,l]=max(P)
%x 为每门课最高分行向量,l 为相应学生序号
[y,k]=min(P)
%y 为每门课最低分行向列,k 为相应学生序号
mu=mean(P)%每门课的平均值行向量
sig=std(P)%每门课的标准差行向量
s=sum(P,2)%5 门课总分的列向量
[X,m]=max(s)%5 门课总分的最高分 X 与相应学生序号 m
[Y,n]=min(s)%5 门课总分的最低分 Y 与相应学生序号 n
[zcj,xsxh]=sort(s)
%zcj 为 5 门课总分从大到小排序,相应学生序号 xsxh
运行结果:
3. 某气象观测得某日 6:
00~18:
00 之间每隔 2h 的室内外温度(0C)如实验表 1 所示。
实验表 1 室内外温度观测结果(0C)
时间 h68
10
12
14
16
18
室内温度 t1 18.0
室外温度 t2 15.0
20.0
19.0
22.0
24.0
25.0
28.0
30.0
34.0
28.0
32.0
24.0
30.0
试用三次样条插值分别求出该日室内外 6:
30~18:
30 之间每隔 2h 各点的近似温度(0C)。
解:
M 文件:
clc;
h=6:
2:
18;
t1=[18.0 20.0 22.0 25.0 30.0 28.0 24.0];
t2=[15.0 19.0 24.0 28.0 34.0 32.0 30.0];
T1=interp1(h,t1,'spline')%室内的 3 次样条插值温度
T2=interp1(h,t2,'spline')%室外的 3 次样条插值温度
运行结果:
4. 已知 lgx 在[1,101]区间 10 个整数采样点的函数值如实验表 2 所示。
实验表 2 lgx 在 10 个采样点的函数值
x1112131415161718191
101
lgx01.04141.32221.49141.61281.70761.78531.85131.9085
1.95102.0043
试求 lgx 的 5 次拟合多项式 p(x),并绘制出 lgx 和 p(x)在[1,101]区间的函数曲线。
解:
M 文件:
x=1:
10:
101;
y=lg10(x);
P=polyfit(x,y,5)
y1=polyval(P,x);
plot(x,y,':
o',x,y1,'-*')
5. 有 3 个多项式 P1(x)=x4+2x3+4x2+5,P2(x)=x+2,P3(x)=x2+2x+3,试进行下列操
作:
(1) 求 P(x)=P1(x)+P2(x)P3(x)。
(2) 求 P(x)的根。
(3) 当 x 取矩阵 A 的每一元素时,求 P(x)的值。
其中 :
⎡-1
1.2 -1.4⎤
A = ⎢ 0.7523.5⎥
⎣⎦
⎢ 052.5⎥
(4) 当以矩阵 A 为自变量时,求 P(x)的值。
其中 A 的值与第(3)题相同。
解:
M 文件:
clc;clear;
p1=[1,2,4,0,5];
p2=[1,2];
p3=[1,2,3];
p2=[0,0,0,p2];
p3=[0,0,p3];
p4=conv(p2,p3);%p4 是 p2 与 p3 的乘积后的多项式
np4=length(p4);
np1=length(p1);
p=[zeros(1,np4-np1) p1]+p4%求 p(x)=p1(x)+p2(x)
x=roots(p)%求 p(x)的根
A=[-1 1.2 -1.4;0.75 2 3.5;0 5 2.5];
y=p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 MATLAB 课后 实验 答案