MATLAB课后试验答案1
实验一实验一 MATLAB MATLAB 运算基础运算基础 1、 先求下列表达式的值,然后显示 MATLAB工作空间的使用情 况并保存全部变量。 2sin 850 (1) z 1 1e2 (2) z 2 ln(x 1 x2),其中x 1 2 12i 2 5 0.45 , 2.9,3.0 e0.3ae0.3a0.3a sin(a0.3)ln,a 3.0, 2.9, (3) z 3 22 t 20t 1 2(4)z 4 1t 2,其中 t t =0:0 =0:0、、5:25:2、、5 5 t 1 t2 2t 12t 3 解: 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 ch(k)=[] ch = 123d4e56g9 实验二实验二 MATLAB MATLAB 矩阵分析与处理矩阵分析与处理 1、 设有分块矩阵A E 33 O23 R 32 ,其中 E、R、O、S 分别为单位矩阵、随机矩阵、零矩 S 22 阵与对角阵,试通过数值计算验证A2 解:M文件如下; E R RS 。 2OS 5、 下面就是一个线性方程组: 1 2 1 3 1 4 1 3 1 4 1 5 1 4 x 0.95 1 1 x 0.67 2 5 x 0.52 1 3 6 (1) 求方程的解。 (2) 将方程右边向量元素 b3改为 0、53 再求解,并比较 b3的变化与解的相对变化。 (3) 计算系数矩阵 A 的条件数并分析结论。 解: M 文件如下: 实验三实验三 选择结构程序设计选择结构程序设计 1、 求分段函数的值。 x 2 x6x 0且x 3 y x25x60 x 5且x 2及x 3 x2 x1其他 用 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、 根据 2 6 111 2 2 2123 1 ,求π的近似值。当n 分别取 100、1000、10000 2n 时,结果就是多少? 要求:分别用循环结构与向量运算(使用 sum 函数)来实现。 解:M 文件如下: 运行结果如下: 2、 根据y 1 11 35 1 ,求: 2n1 (1) y3 时的最大 n 值。 (2) 与(1)的 n 值对应的 y 值。 解:M—文件如下: 3、 考虑以下迭代公式: x n1 a b x n 其中 a、b 为正的学数。 (1) 编写程序求迭代的结果,迭代的终止条件为|xn+1-xn|≤10-5,迭代初值 x0=1、0,迭代次 数不超过 500 次。 bb24a (2) 如果迭代过程收敛于 r,那么 r 的准确值就是,当(a,b)的值取(1,1)、 2 (8,3)、(10,0、1)时,分别对迭代结果与准确值进行比较。 解: M 文件如下: 运算结果如下; 5、 若两个连续自然数的乘积减1 就是素数,则称这两个边疆自然数就是亲密数对,该素 数就是亲密素数。 例如,2×3-1=5,由于 5 就是素数,所以 2 与 3 就是亲密数,5 就是亲密素数。 求[2,50]区间内: (1) 亲密数对的对数。 (2) 与上述亲密数对对应的所有亲密素数之与。 解: M 文件: 实验五实验五 函数文件函数文件 4、 设f (x) 11 ,编写一个 MATLAB函数文件 fx、 m,使得 (x2)20.1(x3)40.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=( 输入矩阵 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=( n1= ); n2=( n2= ); n3=( 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=( n1= ); n2=( n2= ); n3=( 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 门功课成绩