MATLAB)课后实验答案

  • 格式:doc
  • 大小:385.50 KB
  • 文档页数:26

1 / 26实用精品文档 实验一 MATLAB运算基础 1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。

(1) 0122sin851ze (2) 221ln(1)2zxx,其中2120.455ix (3) 0.30.330.3sin(0.3)ln,3.0,2.9,,2.9,3.022aaeeazaa (4) 2242011122123ttzttttt,其中t=0:0.5:2.5 解: 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; z3=(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) 2 / 26实用精品文档

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 = 3 / 26实用精品文档

实验二 MATLAB矩阵分析与处理 1. 设有分块矩阵33322322ERAOS,其中E、R、O、S分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22ERRSAOS。 解: M文件如下;

5. 下面是一个线性方程组: 123

1112340.951110.673450.52111456x

xx









(1) 求方程的解。

123d4e56g9 4 / 26实用精品文档

(2) 将方程右边向量元素b3改为0.53再求解,并比较b3的变化和解的相对变化。 (3) 计算系数矩阵A的条件数并分析结论。 解: M文件如下:

实验三 选择结构程序设计 1. 求分段函数的值。 222

6035605231xxxxyxxxxxxx且且及其他

用if语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的y值。 解:M文件如下: 5 / 26实用精品文档

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文件如下 6 / 26实用精品文档

3. 硅谷公司员工的工资计算方法如下: (1) 工作时数超过120小时者,超过部分加发15%。 (2) 工作时数低于60小时者,扣发700元。 (3) 其余按每小时84元计发。 试编程按输入的工号和该号员工的工时数,计算应发工资。 解:M文件下 7 / 26实用精品文档

实验四 循环结构程序设计 1. 根据2222211116123n,求π的近似值。当n分别取100、1000、10000时,结果是多少? 要求:分别用循环结构和向量运算(使用sum函数)来实现。 解:M文件如下: 8 / 26实用精品文档

运行结果如下: 2. 根据11113521yn,求: (1) y<3时的最大n值。 (2) 与(1)的n值对应的y值。 解:M—文件如下: 9 / 26实用精品文档

3. 考虑以下迭代公式: 1nnaxbx

其中a、b为正的学数。 (1) 编写程序求迭代的结果,迭代的终止条件为|xn+1-xn|≤10-5,迭代初值x0=1.0,迭代次数不超过500次。

(2) 如果迭代过程收敛于r,那么r的准确值是242bba,当(a,b)的值取(1,1)、(8,3)、(10,0.1)时,分别对迭代结果和准确值进行比较。 解: M文件如下: 10 / 26实用精品文档

运算结果如下; 5. 若两个连续自然数的乘积减1是素数,则称这两个边疆自然数是亲密数对,该素数是亲密素数。例如,2×3-1=5,由于5是素数,所以2和3是亲密数,5是亲密素数。求[2,50]区间内: (1) 亲密数对的对数。 (2) 与上述亲密数对对应的所有亲密素数之和。 解: M文件: 11 / 26实用精品文档

实验五 函数文件 4. 设2411()(2)0.1(3)0.01fxxx,编写一个MATLAB函数文件fx.m,使得调用f(x)时,x可用矩阵代入,得出的f(x)为同阶矩阵。 解: 函数fx.m文件: function f= fx(x) %fx fx求算x矩阵下的f(x)的函数值 12 / 26实用精品文档

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. 已知(40)(30)(20)fyff

(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='); 13 / 26实用精品文档

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); 14 / 26实用精品文档

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为相应学生序号 15 / 26实用精品文档

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) 时间h 6 8 10 12 14 16 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 试用三次样条插值分别求出该日室内外6:30~18:30之间每隔2h各点的近似温度(0C)。 解: M文件: