MATLAB课后实验答案.docx
《MATLAB课后实验答案.docx》由会员分享,可在线阅读,更多相关《MATLAB课后实验答案.docx(24页珍藏版)》请在冰豆网上搜索。
![MATLAB课后实验答案.docx](https://file1.bdocx.com/fileroot1/2023-1/31/d7be8820-87ff-4ad4-b68b-eaa3233018f1/d7be8820-87ff-4ad4-b68b-eaa3233018f11.gif)
MATLAB课后实验答案
实验一MATLAB运算基础
1.先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。
<1>
<2>
其中
<3>
<4>
其中t=0:
0.5:
2.5
解:
M文件:
z1=2*sin<85*pi/180>/<1+exp<2>>
x=[21+2*i;-.455];
z2=1/2*log>
a=-3.0:
0.1:
3.0;
z3=-exp<-0.3.*a>>./2.*sin+log<<0.3+a>./2>
t=0:
0.5:
2.5;
z4==0&t<1>.*+=1&t<2>.*+=2&t<3>.*
4.完成下列操作:
<1>求[100,999]之间能被21整除的数的个数。
<2>建立一个字符串向量,删除其中的大写字母。
解:
<1>结果:
m=100:
999;
n=find==0>;
length
ans=
43
<2>.建立一个字符串向量例如:
ch='ABC123d4e56Fg9';则要求结果是:
ch='ABC123d4e56Fg9';
k=find='A'&ch<='Z'>;
ch=[]
ch=
123d4e56g9
实验二MATLAB矩阵分析与处理
1.设有分块矩阵
其中E、R、O、S分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证
。
解:
M文件如下;
5.下面是一个线性方程组:
<1>求方程的解。
<2>将方程右边向量元素b3改为0.53再求解,并比较b3的变化和解的相对变化。
<3>计算系数矩阵A的条件数并分析结论。
解:
M文件如下:
实验三选择结构程序设计
1.求分段函数的值。
用if语句实现,分别输出x=-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文件下
实验四循环结构程序设计
1.根据
求π的近似值。
当n分别取100、1000、10000时,结果是多少?
要求:
分别用循环结构和向量运算〔使用sum函数来实现。
解:
M文件如下:
运行结果如下:
2.根据
求:
<1>y<3时的最大n值。
<2>与<1>的n值对应的y值。
解:
M—文件如下:
3.考虑以下迭代公式:
其中a、b为正的学数。
<1>编写程序求迭代的结果,迭代的终止条件为|xn+1-xn|≤10-5,迭代初值x0=1.0,迭代次数不超过500次。
<2>如果迭代过程收敛于r,那么r的准确值是
当的值取<1,1>、<8,3>、<10,0.1>时,分别对迭代结果和准确值进行比较。
解:
M文件如下:
运算结果如下;
5.若两个连续自然数的乘积减1是素数,则称这两个边疆自然数是亲密数对,该素数是亲密素数。
例如,2×3-1=5,由于5是素数,所以2和3是亲密数,5是亲密素数。
求[2,50]区间内:
<1>亲密数对的对数。
<2>与上述亲密数对对应的所有亲密素数之和。
解:
M文件:
实验五函数文件
4.设
编写一个MATLAB函数文件fx.m,使得调用f时,x可用矩阵代入,得出的f为同阶矩阵。
解:
函数fx.m文件:
functionf=fx
%fxfx求算x矩阵下的f的函数值
A=0.1+.^2;
B=0.01+.^4;
f=1./A+1./B;
命令文件:
clc;
x=input<'输入矩阵x='>;
f=fx
运算结果:
5.已知
<1>当f=n+10ln时,求y的值。
<2>当f=1×2+2×3+3×4+...+n×时,求y的值。
解:
<1>
函数f.m文件:
functionf=f
f=x+10*log;
命令文件:
clc;
n1=input<'n1='>;
n2=input<'n2='>;
n3=input<'n3='>;
y1=f;
y2=f;
y3=f;
y=y1/
<2>.
函数g.m文件
functions=g
fori=1:
n
g=i*;
end
s=sum;
命令文件:
clc;
n1=input<'n1='>;
n2=input<'n2='>;
n3=input<'n3='>;
y1=g;
y2=g;
y3=g;
y=y1/
实验八数据处理与多项式计算
2.将100个学生5门功课的成绩存入矩阵P中,进行如下处理:
<1>分别求每门课的最高分、最低分及相应学生序号。
<2>分别求每门课的平均分和标准方差。
<3>5门课总分的最高分、最低分及相应学生序号。
<4>将5门课总分按从大到小顺序存入zcj中,相应学生序号存入xsxh。
提示:
上机调试时,为避免输入学生成绩的麻烦,可用取值范围在[45,95]之间的随机矩阵来表示学生成绩。
解:
M文件:
clc;
t=45+50*rand<100,5>;
P=fix;%生成100个学生5门功课成绩
[x,l]=max
%x为每门课最高分行向量,l为相应学生序号
[y,k]=min
%y为每门课最低分行向列,k为相应学生序号
mu=mean
%每门课的平均值行向量
sig=std
%每门课的标准差行向量
s=sum
%5门课总分的列向量
[X,m]=max%5门课总分的最高分X与相应学生序号m
[Y,n]=min%5门课总分的最低分Y与相应学生序号n
[zcj,xsxh]=sort
%zcj为5门课总分从大到小排序,相应学生序号xsxh
运行结果:
3.某气象观测得某日6:
00~18:
00之间每隔2h的室内外温度〔0C如实验表1所示。
实验表1室内外温度观测结果〔0C
时间h681012141618
室内温度t118.020.022.025.030.028.024.0
室外温度t215.019.024.028.034.032.030.0
试用三次样条插值分别求出该日室内外6:
30~18:
30之间每隔2h各点的近似温度〔0C。
解:
M文件:
clc;
h=6:
2:
18;
t1=[18.020.022.025.030.028.024.0];
t2=[15.019.024.028.034.032.030.0];
T1=interp1%室内的3次样条插值温度
T2=interp1%室外的3次样条插值温度
运行结果:
4.已知lgx在[1,101]区间10个整数采样点的函数值如实验表2所示。
实验表2lgx在10个采样点的函数值
x1112131415161718191101
lgx01.04141.32221.49141.61281.70761.78531.85131.90851.95102.0043
试求lgx的5次拟合多项式p,并绘制出lgx和p在[1,101]区间的函数曲线。
解:
M文件:
x=1:
10:
101;
y=lg10;
P=polyfit
y1=polyval
;
ploto',x,y1,'-*'>
5.有3个多项式P1=x4+2x3+4x2+5,P2=x+2,P3=x2+2x+3,试进行下列操作:
<1>求P=P1+P2P3。
<2>求P的根。
<3>当x取矩阵A的每一元素时,求P的值。
其中:
<4>当以矩阵A为自变量时,求P的值。
其中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;%p4是p2与p3的乘积后的多项式
np4=length;
np1=length;
p=[zeros<1,np4-np1>p1]+p4%求p=p1+p2
x=roots
%求p的根
A=[-11.2-1.4;0.7523.5;052.5];
y=polyval
%x取矩阵A的每一元素时的p值
实验九数值微积分与方程数值求解
1.求函数在指定点的数值导数。
实验六高层绘图操作
3.已知
在-5≤x≤5区间绘制函数曲线。
解:
M文件:
clc;
x=-5:
0.01:
5;
y=>/>.*+0.5*log>.*0>;
plot
2.用数值方法求定积分。
<1>
的近似值。
<2>
解:
M文件:
clc;clear;
f=inline<'sqrt+4*sin<2*t>.^2+1>'>;
I1=quad
g=inline<'log<1+x>./<1+x.^2>'>;
I2=quad
运行结果:
3.分别用3种不同的数值方法解线性方程组。
解:
M文件:
clc;clear;
A=[65-25;9-14-1;342-2;3-902];
b=[-413111]';
x=A\b
y=inv*b
[L,U]=lu;
z=U\
运行结果:
4.求非齐次线性方程组的通解。
解:
M文件
clc;clear;
formatrat
A=[2731;3522;9417];
b=[642]';
[x,y]=line_solution
:
。
5.求代数方程的数值解。
<1>3x+sinx-ex=0在x0=1.5附近的根。
<2>在给定的初值x0=1,y0=1,z0=1下,求方程组的数值解。
解:
M文件:
functiong=f
g=3*x+sin-exp;
clc;clear;
fzero<'f',1.5>
<2>.M文件:
functionF=fun
x=X<1>;
y=X<2>;
z=X<3>;
F<1>=sin+y^2+log-7;
F<2>=3*x+2-z^3+1;
F<3>=x+y+z-5;
X=fsolve<'myfun',[1,1,1]',optimset<'Display','off'>>
运行结果:
6.求函数在指定区间的极值。
<1>
在<0,1>内的最小值。
<2>
在[0,0]附近的最小值点和最小值。
解:
M文件:
functionf=g
x=u<1>;y=u<2>;
f=2*x.^3+4*x.*y^3-10*x.*y+y.^2;
clc;clear;
formatlong
f=inline<'+x*log>/exp'>;
[x,fmin1]=fminbnd
[U,fmin2]=fminsearch<'g',[0,0]>
8.求微分方程组的数值解,并绘制解的曲线。
解:
令y1=x,y2=y,y3=z;这样方程变为:
自变量是t
M文件:
functionxdot=sys
xdot=[y<2>*y<3>;-y<1>*y<3>;-0.51*y<1>*y<2>];
clc;clear;
t0=0;tf=8;
[x,y]=ode23<'sys',[t0,tf],[0,1,1]>
plot
实验十符号计算基础与符号微积分
一、
1.已知x=6,y=5,利用符号表达式求
提示:
定义符号常数x=sym<‘6’>,y=sym<‘5’>。
解:
M文件:
clearall;clc;
x=sym<'6'>;y=sym<'5'>;
z=<1+x>/-sqrt>
运行结果:
2.分解因式。
<1>x4-y4<2>5135
解:
M文件:
clearall;clc;
symsxy;t=sym<'5135'>;
a=x^4-y^4;
factor
factor
运行结果:
5.用符号方法求下列极限或导数。
解:
M文件:
clearall;clc;
symsxtayz;
f1=>+1>-2*>-1>>/sin^3;%<1>
limit
f2=-sqrt>>/sqrt;%<2>
limit
y=<1-cos<2*x>>/x;%<3>
y1=diff
y2=diff
A=[a^xt^3;t*coslog];%<4>
Ax1=diff
At2=diff
Axt=diff
f=*exp<-x^2-z^2-x*z>;%<5>
Zx=-diff/diff
dfxz=diff,z>;
x=sym<'0'>;z=sym<'1'>;
eval%符号运算返回数值
运行结果:
6.用符号方法求下列积分。
解:
M文件:
clear;clc;
x=sym<'x'>;
f1=1/<1+x^4+x^8>;%<1>
f2=1/>^2/sqrt<1-x^2>;%<2>
f3=/;%<3>
f4=exp*<1+exp>^2;%<4>
F1=int
F2=int
F3=int
F4=int>
运行结果: