您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > MATLAB)课后实验答案[1]
实验一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=[21+2*i;-.455];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&t1).*(t.^2)+(t=1&t2).*(t.^2-1)+(t=2&t3).*(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=实验二MATLAB矩阵分析与处理1.设有分块矩阵33322322ERAOS,其中E、R、O、S分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22ERRSAOS。解:M文件如下;5.下面是一个线性方程组:1231112340.951110.673450.52111456xxx(1)求方程的解。(2)将方程右边向量元素b3改为0.53再求解,并比较b3的变化和解的相对变化。(3)计算系数矩阵A的条件数并分析结论。解:M文件如下:123d4e56g9实验三选择结构程序设计1.求分段函数的值。2226035605231xxxxyxxxxxxx且且及其他用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.根据2222211116123n,求π的近似值。当n分别取100、1000、10000时,结果是多少?要求:分别用循环结构和向量运算(使用sum函数)来实现。解:M文件如下:运行结果如下:2.根据11113521yn,求:(1)y3时的最大n值。(2)与(1)的n值对应的y值。解:M—文件如下: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文件如下:运算结果如下;5.若两个连续自然数的乘积减1是素数,则称这两个边疆自然数是亲密数对,该素数是亲密素数。例如,2×3-1=5,由于5是素数,所以2和3是亲密数,5是亲密素数。求[2,50]区间内:(1)亲密数对的对数。(2)与上述亲密数对对应的所有亲密素数之和。解:M文件:实验五函数文件4.设2411()(2)0.1(3)0.01fxxx,编写一个MATLAB函数文件fx.m,使得调用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=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文件:functionf=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).函数g.m文件functions=g(n)fori=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);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为相应学生序号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室内温度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(h,t1,'spline')%室内的3次样条插值温度T2=interp1(h,t2,'spline')%室外的3次样条插值温度运行结果:4.已知lgx在[1,101]区间10个整数采样点的函数值如实验表2所示。实验表2lgx在10个采样点的函数值x1112131415161718191101lgx01.04141.32221.49141.61281.70761.78531.85131.90851.95102.0043试求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)=P1(x)+P2(x)P3(x)。(2)求P(x)的根。(3)当x取矩阵A的每一元素时,求P(x)的值。其中:11.21.40.7523.5052.5A(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=[-11.2-1.4;0.7523.5;052.5];y=polyval(p,A)%x取矩阵A的每一元素时的p(x)值实验九数值微积分与方程数值求解1.求函数在指定点的数值导数。实验六高层绘图操作3.已知2201ln(1)02xxeyxxx在-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)).*(x0);plot(x,y)2.用数值方法求定积分。(1)22210cos4sin(2)1Ittdt的近似值。(2)2220ln(1)1xIdtx解:M文件:clc;clear;f=inline('sqrt(cos(t.^2)+4*sin(2*t).^2+1)');I1=quad(f,0,2*pi)g=inline('log(1+x)./(1+x.^2)');I2=quad(g,0,2*pi)运行结果:3.分别用3种不同的数值方法解线性方程组。6525494133422139211xyzuxyzuxyzuxyu解:M文件:clc;clear;A=[65-25;9-14-1;342-2;3-902];b=[-413111]';x=A\by=inv(A)*b[L,U]=lu(A);z=U\(L\b)运行结果:4.求非齐次线性方程组的通解。1234123412342736352249472xxxxxxxxxxxx解:M文件clc;clear;formatratA=[2731;3522;9417];b=[642]';[x,y]=line_solution(A,b):。5.求代数方程的数值解。(1)3x+sinx-ex=0在x0=1.5附近的根。(2)在给定的初值x0=1,y0=1,z0=1下,求方程组的数值解。23sinln70321050yxyzxzxyz解:M文件:functiong=f(x)g=3*x+sin(x)-exp(x);clc;clear;fzero('f',1.5)(2).M文件:functionF=fun(X)x=X(1);y=X(2);z=X(3);F(1)=sin(x)+y^2+log(z)-7;F(2)=3*x+2-z^3+1;F(3)=x+y+z-5;X=fsolve(
本文标题:MATLAB)课后实验答案[1]
链接地址:https://www.777doc.com/doc-1880577 .html