MATLAB程序设计及应用第二版课后实验答案Word文件下载.docx
- 文档编号:16568837
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:40
- 大小:597.66KB
MATLAB程序设计及应用第二版课后实验答案Word文件下载.docx
《MATLAB程序设计及应用第二版课后实验答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《MATLAB程序设计及应用第二版课后实验答案Word文件下载.docx(40页珍藏版)》请在冰豆网上搜索。
[A([1,3],:
3.设有矩阵A和B
(1)求它们的乘积C。
(2)将矩阵C的右下角3×
2子矩阵赋给D。
(3)查看MATLAB工作空间的使用情况。
.运算结果:
E=(reshape(1:
1:
25,5,5))'
F=[3016;
17-69;
023-4;
970;
41311];
C=E*F
H=C(3:
5,2:
3)
C=
9315077
258335237
423520397
588705557
753890717
H=
520397
705557
890717
4.完成下列操作:
(1)求[100,999]之间能被21整除的数的个数。
(2)建立一个字符串向量,删除其中的大写字母。
(1)结果:
m=100:
999;
n=find(mod(m,21)==0);
length(n)
ans=
43
(2).建立一个字符串向量例如:
ch='
ABC123d4e56Fg9'
则要求结果是:
k=find(ch>
='
A'
&
ch<
Z'
ch(k)=[]
ch=
123d4e56g9
实验二MATLAB矩阵分析与处理
1.设有分块矩阵
,其中E、R、O、S分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证
。
解:
M文件如下;
由ans,所以
2.产生5阶希尔伯特矩阵H和5阶帕斯卡矩阵P,且求其行列式的值Hh和Hp以及它们的条件数Th和Tp,判断哪个矩阵性能更好。
为什么
M文件如下:
因为它们的条件数Th>
>
Tp,所以pascal矩阵性能更好。
3.建立一个5×
5矩阵,求它的行列式值、迹、秩和范数。
M文件如下:
4.已知
求A的特征值及特征向量,并分析其数学意义。
M文件如图:
数学意义:
V的3个列向量是A的特征向量,D的主对角线上3个是A的特征值,特别的,V的3个列向量分别是D的3个特征值的特征向量。
5.下面是一个线性方程组:
(1)求方程的解。
(2)将方程右边向量元素b3改为再求解,并比较b3的变化和解的相对变化。
(3)计算系数矩阵A的条件数并分析结论。
输出结果:
由结果,X和X2的值一样,这表示b的微小变化对方程解也影响较小,而A的条件数算得较小,所以数值稳定性较好,A是较好的矩阵。
6.建立A矩阵,试比较sqrtm(A)和sqrt(A),分析它们的区别。
分析结果知:
sqrtm(A)是类似A的数值平方根(这可由b1*b1=A的结果看出),而sqrt(A)则是对A中的每个元素开根号,两则区别就在于此。
实验三选择结构程序设计
1.求分段函数的值。
用if语句实现,分别输出x=,,,,,,时的y值。
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文件如下
试算结果:
score=88
grade=
B
score=123
错误:
输入的成绩不是百分制成绩
3.硅谷公司员工的工资计算方法如下:
(1)工作时数超过120小时者,超过部分加发15%。
(2)工作时数低于60小时者,扣发700元。
(3)其余按每小时84元计发。
试编程按输入的工号和该号员工的工时数,计算应发工资。
M文件下
4.设计程序,完成两位数的加、减、乘、除四则运算,即产生两个两位随机整数,再输入一个运算符号,做相应的运算,并显示相应的结果。
M文件如下;
5.建立5×
6矩阵,要求输出矩阵第n行元素。
当n值超过矩阵的行数时,自动转为输出矩阵最后一行元素,并给出出错信息。
实验四循环结构程序设计
1.根据
,求π的近似值。
当n分别取100、1000、10000时,结果是多少
分别用循环结构和向量运算(使用sum函数)来实现。
2.根据
,求:
(1)y<
3时的最大n值。
(2)与
(1)的n值对应的y值。
M—文件如下:
3.考虑以下迭代公式:
其中a、b为正的学数。
(1)编写程序求迭代的结果,迭代的终止条件为|xn+1-xn|≤10-5,迭代初值x0=,迭代次数不超过500次。
(2)如果迭代过程收敛于r,那么r的准确值是
,当(a,b)的值取(1,1)、(8,3)、(10,时,分别对迭代结果和准确值进行比较。
求f1~f100中:
(1)最大值、最小值、各数之和。
(2)正数、零、负数的个数。
M—文件
以下是运算结果:
max(f)=2635
min(f)=-3528
sum(f)=-1951
c1=49
c2=2
c3=49
5.若两个连续自然数的乘积减1是素数,则称这两个边疆自然数是亲密数对,该素数是亲密素数。
例如,2×
3-1=5,由于5是素数,所以2和3是亲密数,5是亲密素数。
求[2,50]区间内:
(1)亲密数对的对数。
(2)与上述亲密数对对应的所有亲密素数之和。
M文件:
运算结果为:
j=
29
s=
23615
实验五函数文件
一、实验目的
1.理解函数文件的概念。
2.掌握定义和调用MATLAB函数的方法。
二、实验内容
1.定义一个函数文件,求给定复数的指数、对数、正弦和余弦,并在命令文件中调用该函数文件。
函数文件:
function[e,l,s,c]=fushu(z)
%fushu复数的指数,对数,正弦,余弦的计算
%e复数的指数函数值
%l复数的对数函数值
%s复数的正弦函数值
%c复数的余弦函数值
e=exp(z);
l=log(z);
s=sin(z);
c=cos(z);
命令文件M:
z=input('
请输入一个复数z='
[a,b,c,d]=fushu(z)
运算结果如下:
请输入一个复数z=1+i
a=
+
b=
c
d=-
2.一物理系统可用下列方程组来表示:
从键盘输入m1、m2和θ的值,求a1、a2、N1和N2的值。
其中g取,输入θ时以角度为单位。
定义一个求解线性方程组AX=B的函数文件,然后在命令文件中调用该函数文件。
M文件
函数文件:
functionX=fc(A,B)
%fcfc是求解线性方程的函数
%AA是未知矩阵的系数矩阵
X=A\B;
命令M文件:
clc;
m1=input('
输入m1='
m2=input('
输入m2='
theta=input('
输入theta='
x=theta*pi/180;
g=;
A=[m1*cos(x)-m1-sin(x)0
m1*sin(x)0cos(x)0
0m2-sin(x)0
00-cos(x)1];
B=[0;
m1*g;
0;
m2*g];
X=fc(A,B)
运算结果:
输入m1=1
输入m2=1
输入theta=30
X=
3.一个自然数是素数,且它的数字位置经过任意对换后仍为素数。
例如13是绝对素数。
试求所有两位绝对素数。
定义一个判断素数的函数文件。
函数文件
function[p]=prime(p)
%输入p的范围,找出其中的素数
m=p(length(p));
fori=2:
sqrt(m)
n=find(rem(p,i)==0&
p~=i);
p(n)=[];
%将p中能被i整除,而却不等于i的元素,即下标为n的元素剔除,其余的即为素数
end
p;
命令文件:
p=10:
99;
p=prime(p);
%找出10到99内的所有素数
p=10*rem(p,10)+(p-rem(p,10))/10;
%将p素数矩阵每个元素个位十位调换顺序
p=prime(p)
%再对对换后的素数矩阵找出所有的素数
p=
113171137317379779
4.设
,编写一个MATLAB函数文件,使得调用f(x)时,x可用矩阵代入,得出的f(x)为同阶矩阵。
functionf=fx(x)
%fxfx求算x矩阵下的f(x)的函数值
A=+(x-2).^2;
B=+(x-3).^4;
f=1./A+1./B;
x=input('
输入矩阵x='
f=fx(x)
x=input('
输入矩阵x=[72;
125]
f=
5.已知
(1)当f(n)=n+10ln(n2+5)时,求y的值。
(2)当f(n)=1×
2+2×
3+3×
4+...+n×
(n+1)时,求y的值。
(1)
functionf=f(x)
f=x+10*log(x^2+5);
n1=input('
n1='
n2=input('
n2='
n3=input('
n3='
y1=f(n1);
y2=f(n2);
y3=f(n3);
y=y1/(y2+y3)
n1=40
n2=30
n3=20
y=
(2).
functions=g(n)
fori=1:
n
g(i)=i*(i+1);
s=sum(g);
y1=g(n1);
y2=g(n2);
y3=g(n3);
实验六高层绘图操作
1.掌握绘制二维图形的常用函数。
2.掌握绘制三维图形的常用函数。
3.掌握绘制图形的辅助操作。
1.设
,在x=0~2π区间取101点,绘制函数的曲线。
x=linspace(0,2*pi,101);
y=+3*sin(x)./(1+x.^2));
plot(x,y)
运行结果有:
2.已知y1=x2,y2=cos(2x),y3=y1×
y2,完成下列操作:
(1)在同一坐标系下用不同的颜色和线型绘制三条曲线。
(2)以子图形式绘制三条曲线。
(3)分别用条形图、阶梯图、杆图和填充图绘制三条曲线。
(1)M文件:
x=-pi:
pi/100:
pi;
y1=x.^2;
y2=cos(2*x);
y3=y1.*y2;
plot(x,y1,'
b-'
x,y2,'
r:
'
x,y3,'
k--'
)
运行结果:
(2)M文件:
subplot(1,3,1);
title('
y1=x^2'
subplot(1,3,2);
plot(x,y2,'
y2=cos(2x)'
subplot(1,3,3);
plot(x,y3,'
y3=y1*y2'
.运行结果:
(3)M文件:
subplot(2,2,1);
subplot(2,2,2);
bar(x,y1,'
b'
subplot(2,2,3);
bar(x,y2,'
r'
subplot(2,2,4);
bar(x,y3,'
k'
由上面的M文件,只要依次将“bar”改为“stairs”、“stem”、“fill”,再适当更改区间取的点数,运行程序即可,
即有下面的结果:
3.已知
在-5≤x≤5区间绘制函数曲线。
x=-5:
5;
y=(x+sqrt(pi))/(exp
(2)).*(x<
=0)+*log(x+sqrt(1+x.^2)).*(x>
0);
由图可看出,函数在零点不连续。
4.绘制极坐标曲线ρ=asin(b+nθ),并分析参数a、b、n对曲线形状的影响。
theta=0:
2*pi;
a=input('
输入a='
b=input('
输入b='
n=input('
输入n='
rho=a*sin(b+n*theta);
polar(theta,rho,'
m'
采用控制变量法的办法,固定两个参数,变动第三个参数观察输出图象的变化。
分析结果:
由这8个图知道,
当a,n固定时,图形的形状也就固定了,b只影响图形的旋转的角度;
当a,b固定时,n只影响图形的扇形数,特别地,当n是奇数时,扇叶数就是n,当是偶数时,扇叶数则是2n个;
当b,n固定时,a影响的是图形大小,特别地,当a是整数时,图形半径大小就是a。
5.绘制函数的曲线图和等高线。
其中x的21个值均匀分布[-5,5]范围,y的31个值均匀分布在[0,10],要求使用subplot(2,1,1)和subplot(2,1,2)将产生的曲面图和等高线图画在同一个窗口上。
x=linspace(-5,5,21);
y=linspace(0,10,31);
[x,y]=meshgrid(x,y);
z=cos(x).*cos(y).*exp(-sqrt(x.^2+y.^2)/4);
subplot(2,1,1);
surf(x,y,z);
曲面图'
subplot(2,1,2);
surfc(x,y,z);
等高线图'
6.绘制曲面图形,并进行插值着色处理。
s=0:
pi/2;
3*pi/2;
[s,t]=meshgrid(s,t);
x=cos(s).*cos(t);
y=cos(s).*sin(t);
z=sin(s);
mesh(x,y,z);
未着色的图形'
shadingfaceted(缺省)'
shadingflat;
shadingflat'
shadinginterp;
%插值着色
shadinginterp'
实验八数据处理与多项式计算
1.利用MATLAB提供的rand函数生成30000个符合均匀分布的随机数,然后检验随机数的性质:
(1)均值和标准方差。
(2)最大元素和最小元素。
(3)大于的随机数个数占总数的百分比。
x=rand(1,30000);
mu=mean(x)%求这30000个均匀分布随机数的平均值
sig=std(x)%求其标准差σ1
y=length(find(x>
%找出大于数的个数
p=y/30000%大于的所占百分比
mu=
sig=
2.将100个学生5门功课的成绩存入矩阵P中,进行如下处理:
(1)分别求每门课的最高分、最低分及相应学生序号。
(2)分别求每门课的平均分和标准方差。
(3)5门课总分的最高分、最低分及相应学生序号。
(4)将5门课总分按从大到小顺序存入zcj中,相应学生序号存入xsxh。
提示:
上机调试时,为避免输入学生成绩的麻烦,可用取值范围在[45,95]之间的随机矩阵来表示学生成绩。
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)
时间h681012141618
室内温度t1
室外温度t2
试用三次样条插值分别求出该日室内外6:
30~18:
30之间每隔2h各点的近似温度(0C)。
h=6:
2:
18;
t1=[];
t2=[];
T1=interp1(h,t1,'
spline'
)%室内的3次样条插值温度
T2=interp1(h,t2,'
)%室外的3次样条插值温度
T1=
Columns1through3
Columns4through6
Column7
T2=
4.已知lgx在[1,101]区间10个整数采样点的函数值如实验表2所示。
实验表2lgx在10个采样点的函数值
x1112131415161718191101
lgx0
试求lgx的5次拟合多项式p(x),并绘制出lgx和p(x)在[1,101]区间的函数曲线。
x=1:
10:
101;
y=lg10(x);
P=polyfit(x,y,5)
y1=polyval(P,x);
plot(x,y,'
o'
x,y1,'
-*'
)
Warning:
Polynomialisbadlyconditioned.AddpointswithdistinctX
values,reducethedegreeofthepolynomial,ortrycentering
andscalingasdescribedinHELPPOLYFIT.
Inpolyfitat80
P=
(这里出现警告是提示不必用5价函数就已经可以完美拟合了,是可以降价拟合。
在[1,101]的区间函数图像
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)的值。
其中:
(4)当以矩阵A为自变量时,求P(x)的值。
其中A的值与第(3)题相同。
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;
2;
05];
y=polyval(p,A)%x取矩阵A的每一元素时的p(x)值
0000138711
x=
-
+003*
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 程序设计 应用 第二 课后 实验 答案