matlab上机实验指导书.doc
MATLAB软件与程序设计学生上机实验任务书姓 名: 许亚文 学 号: 班 级:信息与计算科学(1)班 指导教师: 郭秀婷 兰州理工大学理学院实验四 MATLAB数据分析与多项式计算一、实验目的1.掌握数据统计和分析的方法。2.掌握数值插值与曲线拟合的方法及其应用。3.了解快速傅里叶变换的应用方法。4.掌握多项式的常用运算。二、实验内容1产生一个5´5的随机矩阵,进行以下数据处理: (1)分别计算每行的最大值,每列的最大值和矩阵的最大元素; (2)分别计算每行元素的乘积,每列元素的乘积和全部元素的乘积; (3)计算每行的平均值和每列的中间值。(4)计算每列的标准方差和按行升序排序。2. 按下表所示用3次多项式方法插值计算150之间整数的平方根。3. 已知lg x在1,101区间10个整数采样点的函数值如下表所示。试求lg x的5次拟合多项式p(x),并绘制出lg x和p(x)在1,101区间的函数曲线。4. 有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)的值(polyval)。其中 (4)当以矩阵A为自变量时,求P(x)的值(polyvalm),其中A的值与(3)相同。三、实验步骤1、编写程序。2、调试程序。3、写出程序运行结果。实验报告1产生一个5´5的随机矩阵,进行以下数据处理: (1)分别计算每行的最大值,每列的最大值和矩阵的最大元素; (2)分别计算每行元素的乘积,每列元素的乘积和全部元素的乘积; (3)计算每行的平均值和每列的中间值。(4)计算每列的标准方差和按行升序排序。程序和结果:>> A=rand(5)A = 0.2028 0.0153 0.4186 0.8381 0.5028 0.1987 0.7468 0.8462 0.0196 0.7095 0.6038 0.4451 0.5252 0.6813 0.4289 0.2722 0.9318 0.2026 0.3795 0.3046 0.1988 0.4660 0.6721 0.8318 0.1897>> y1=max(A,2)y1 = 0.8381 0.8462 0.6813 0.9318 0.8318>> max(y1)ans = 0.9318>> y2=max(A)y2 = 0.6038 0.9318 0.8462 0.8381 0.7095>> max(y2)ans = 0.9318>> max(max(A)ans = 0.9318>> prod(A,2)ans = 0.0005 0.0017 0.0412 0.0059 0.0098>> prod(A)ans = 0.0013 0.0022 0.0253 0.0035 0.0088>> prod(prod(A)ans = 2.3012e-012>> mean(A,2)ans = 0.3955 0.5042 0.5368 0.4181 0.4717>> median(A)ans = 0.2028 0.4660 0.5252 0.6813 0.4289>> mean(A,2)ans = 0.3955 0.5042 0.5368 0.4181 0.4717median(A)ans = 0.2028 0.4660 0.5252 0.6813 0.4289ans = 0.3955 0.5042 0.5368 0.4181 0.4717>> std(A,0)ans = 0.1753 0.3480 0.2448 0.3500 0.1980>> std(A,1)ans = 0.1568 0.3112 0.2190 0.3131 0.1771>> Y,I=sort(A,2)Y 0.0153 0.2028 0.4186 0.5028 0.8381 0.0196 0.1987 0.7095 0.7468 0.8462 0.4289 0.4451 0.5252 0.6038 0.6813 0.2026 0.2722 0.3046 0.3795 0.9318 0.1897 0.1988 0.4660 0.6721 0.8318I = 2 1 3 5 4 4 1 5 2 3 5 2 3 1 4 3 1 5 4 2 5 1 2 3 42. 按下表所示用3次多项式方法插值计算150之间整数的平方根。程序和结果:>> N=1,4,9,16,25,36,49,64,81,100;>> M=1,2,3,4,5,6,7,8,9,10;>> X=1:50;>> Y=interp1(N,M,X,'cubic')Y = Columns 1 through 20 1.0000 1.3729 1.7125 2.0000 2.2405 2.4551 2.6494 2.8292 3.0000 3.1636 3.3186 3.4661 3.6069 3.7422 3.8729 4.0000 4.1237 4.2435 4.3599 4.4730 Columns 21 through 40 4.5832 4.6907 4.7958 4.8988 5.0000 5.0993 5.1966 5.2921 5.3857 5.4777 5.5681 5.6570 5.7446 5.8309 5.9160 6.0000 6.0829 6.1647 6.2454 6.3249 Columns 41 through 50 6.4035 6.4810 6.5577 6.6334 6.7082 6.7823 6.8556 6.9281 7.0000 7.07123. 已知lg x在1,101区间10个整数采样点的函数值如下表所示。试求lg x的5次拟合多项式p(x),并绘制出lg x和p(x)在1,101区间的函数曲线。程序和结果:>> X=1:10:101;>>Y=0,1.0414,1.3222,1.4914,1.6128,1.7076,1.7853,1.8513,1.9085,1.9590,2.0043;>> p=polyfit(X,Y,5)p = 0.0000 -0.0000 0.0001 -0.0058 0.1537 -0.1326>> Q=polyval(p,X)Q = 0.0153 0.9868 1.3720 1.5104 1.5888 1.6813 1.7885 1.8771 1.9189 1.9308 2.0140>> plot(X,Y);hold on>> plot(X,Q,'r')4. 有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)的值(polyval)。其中 (4)当以矩阵A为自变量时,求P(x)的值(polyvalm),其中A的值与(3)相同。程序和结果:>> P2=1,2;>> P3=1,2,3;>> Q=conv(P2,P3)Q = 1 4 7 6>> P1=1,2,4,0,5;>> Q1=0,1,4,7,6;>> B=P1+Q1B = 1 3 8 7 11>> C=roots(B)C = -1.3840 + 1.8317i -1.3840 - 1.8317i -0.1160 + 1.4400i -0.1160 - 1.4400i>> A=-1 1.2 -1.4;0.75 2 3.5;0 5 2.5A = -1.0000 1.2000 -1.4000 0.7500 2.0000 3.5000 0 5.0000 2.5000>> y=polyval(B,A)y = 1.0e+003 * 0.0100 0.0382 0.0125 0.0223 0.0970 0.4122 0.0110 1.2460 0.1644>> y1=polyvalm(B,A)y1 = 1.0e+003 * 0.0076 -0.1281 -0.0775 0.1328 1.3900 1.1644 0.1824 1.7364 1.5198