实验一 MATLAB 运算基础1. 先求以下表达式的值,尔后显示 MATLAB 工作空间的使用情况并保存全部变量。
(1)2sin 85 z1 21 e(2) 12z ln( x 1 x ) ,其中22 x2 1 2i5(3)ae e az sin( a 0.3) ln , a 3.0, 2.9, L , 2.9, 32 22t 0 t 1(4) 2z t 1 1 t 242t 2t 1 2 t 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&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矩阵解析与办理1. 设有分块矩阵 A E R3 3 3 2O S2 3 2 2,其中 E、R、O、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试经过数值计算考据 2A E R RS2O S。
解: M文件以下;5. 下面是一个线性方程组:1 1 12 3 4x11 1 1x23 4 5x 0.521 1 134 5 6(1) 求方程的解。
(2) 将方程右边向量元素 b3 改为 0.53 再求解,并比较 b3 的变化和解的相对变化。
(3) 计算系数矩阵 A 的条件数并解析结论。
解: M 文件以下:实验三选择结构程序设计1. 求分段函数的值。
2x x 6 x 0且x 32y x x x x x5 6 0 5且 2及 321 其他x x用 if 语句实现,分别输出时的 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. 依照21 1 1 1L ,求π的近似值。
当 n 分别取 100 、1000 、100002 2 2 26 1 2 3 n时,结果是多少?要求:分别用循环结构和向量运算〔使用 sum 函数〕来实现。
解:M 文件以下:运行结果以下:2. 依照y 1 1 1 1L ,求:3 5 2n 1(1) y<3 时的最大 n 值。
(2) 与(1)的 n 值对应的 y 值。
解:M—文件以下:3. 考虑以下迭代公式:x n 1ab xn其中 a、b 为正的学数。
(1) 编写程序求迭代的结果,迭代的停止条件为 |x n+1 -x n|≤10 -5,迭代初值 x0,迭代次数不高出 500 次。
(2) 若是迭代过程收敛于 r,那么 r 的正确值是2 4b b a2,当(a,b) 的值取(1,1) 、(8,3) 、(10,0.1) 时,分别对迭代结果和正确值进行比较。
解:M 文件以下:运算结果以下;5. 假设两个连续自然数的乘积减 1 是素数,那么称这两个边疆自然数是亲密数对,该素数是亲密素数。
比方,2× 3-1=5 ,由于 5 是素数,所以 2 和 3 是亲密数,5 是亲密素数。
求[2,50] 区间内:(1) 亲密数对的对数。
(2) 与上述亲密数对对应的全部亲密素数之和。
解:M 文件:实验五函数文件4. 设f ( x) 1 12 4( x 2) (x 3),编写一个 MATLAB 函数文件,使得调用 f(x) 时,x 可用矩阵代入,得出的 f(x)为同阶矩阵。
解:函数文件:function f= fx(x)%fx fx 求算 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.yf (40)f (30) f(20)(1) 当 f(n)=n+10ln(n 2+5) 时,求 y 的值。
(2) 当 f(n)=1 × 2+2 × 3+3 × 4+...+n × (n+1) 时,求 y 的值。
解:(1)函数文件: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).函数文件function s= g(n)for i=1:ng(i)=i*(i+1);ends=sum(g);命令文件:clc;n1=input( 'n1=' );n2=input( 'n2=' );n3=input( 'n3=' );y1=g(n1);y2=g(n2);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〕时间 h 6 8 10 12 14 16 18室内温度 t1 18.0室外温度 t2试用三次样条插值分别求出该日室内外 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 个采样点的函数值x 1 11 21 31 41 51 61 71 81 91101lgx 0试求 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)=P 1(x)+P 2(x)P 3(x)。
(2) 求 P(x) 的根。
(3) 当 x 取矩阵 A 的每一元素时,求 P(x) 的值。
其中:1A 20 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=polyval(p,A) %x 取矩阵 A 的每一元素时的 p(x) 值实验九数值微积分与方程数值求解1. 求函数在指定点的数值导数。
实验六高层绘图操作3.xy12x 0 2e2ln( x 1 x ) x 0在-5≤x≤5 区间绘制函数曲线。
解:M 文件:clc;x=-5:0.01:5;y=(x+sqrt(pi))/(exp(2)).*(x<=0)+0.5*log(x+sqrt(1+x.^2)).*(x>0); plot(x,y)2. 用数值方法求定积分。