《matlab答案第六章.docx》由会员分享,可在线阅读,更多相关《matlab答案第六章.docx(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第六章 1. 利用MATLAB供应的randn函数生成符合正态分布的105随机矩阵A,进展如下操作:(1) A各列元素的均值与标准方差。(2) A的最大元素与最小元素。(3) 求A每行元素的与以及全部元素之与。(4) 分别对A的每列元素按升序、每行元素按降序排列。答:clear all; close all; clc;A=randn(10, 5);meanA=mean(A); %(1)A各列元素的均值stdA=std(A); %(1)A各列元素的标准方差maxA=max(max(A); %(2)A的最大元素minA=min(min(A); %(2)A的最小元素rowsumA=sum(A, 2)
2、; %(3)A每行元素的与sumA=sum(rowsumA); %(3)A全部元素之与sort1=sort(A); %(4)A的每列元素按升序排列sort2=sort(A, 2, descend); %(4)A的每行元素按降序排列2. 按要求对指定函数进展插值与拟合。(1) 按表6.1用3次样条方法插值计算090D范围内整数点的正弦值与075D范围内整数点的正切值,然后用5次多项式拟合方法计算一样的函数值,并将两种计算结果进展比拟。表6.1 特别角的正弦与正切值表度0 15 30 45 60 75 90sin0 0.2588 0.5000 0.7071 0.8660 0.96591.0000
3、tan0 0.2679 0.5774 1.0000 1.7320 3.7320(2) 按表6.2用3次多项式方法插值计算1100之间整数的平方根。表6.2 1100内特别值的平方根表N 1 4 9 16 25 36 49 64 81 100N的平方根 1 2 3 4 5 6 7 8 9 10 答:(1) 程序设计:clear all; close all; clc;alpha1=0:15:90;sin_alpha1=sin(alpha1*pi/180); %准确正弦值plot(alpha1, sin_alpha1, k:p); hold on; %绘准确正弦曲线alpha2=0:90;sin_
4、Y1=interp1(alpha1, sin_alpha1, alpha2, spline); %3次样条正弦插值plot(alpha2, sin_Y1, r-*); hold on; %绘3次样条插值正弦曲线P1=polyfit(alpha1, sin_alpha1, 5); %5次多项式拟合sin_Y2= polyval(P1, alpha2); %5次多项式求值plot(alpha2, sin_Y2, b-o); %绘5次多项式插值正弦曲线legend(准确正弦值, 3次样条正弦插值, 5次多项式正弦插值); title(正弦值比拟); alpha3=0:15:75;tan_alpha3
5、=tan(alpha3*pi/180); %准确正切值figure, plot(alpha3, tan_alpha3, k:p); hold on; %绘准确正切曲线alpha4=0:75;tan_Y1=interp1(alpha3, tan_alpha3, alpha4, spline); %3次样条正切插值plot(alpha4, tan_Y1,r-*); hold on; %绘3次样条正切曲线P2=polyfit(alpha3, tan_alpha3, 5); %5次多项式拟合tan_Y2= polyval(P2, alpha4); %5次多项式求值plot(alpha4, tan_Y2
6、, b-o); %绘5次多项式插值正弦曲线legend(准确正切值, 3次样条正切插值, 5次多项式正切插值); title(正切值比拟); (2)程序设计:clear all; close all; clc;X=1, 4, 9, 16, 25, 36, 49, 64, 81, 100; Y=1:10;X1=1:100; Y1=interp1(X, Y, X1, cubic);plot(X, Y, r:o); hold on; %绘准确平方根曲线plot(X1, Y1, k-x); %绘3次多项式插值平方根曲线legend(准确平方根, 3次多项式插值);3. 已知一组试验数据如表6.3所示。
7、表6.3 一组试验数据i12345Xi165 123 150 123 141 Yi187 126 172 125 148 求它的线性拟合曲线。 答:程序设计:clear all; close all; clc;x=165, 123, 150, 123, 141;y=187, 126, 172, 125, 148;P=polyfit(x, y, 3)运行结果:P =1.0e+003 *-0.0000 0.0013 -0.1779 8.4330所以它的线性拟合曲线为:P(x)=1.3x2-177.9x+84334. 已知多项式P1(x)=3x+2,P2(x)=5x2x+2,P3(x)=x20.5,
8、求 : (1) P(x)=P1(x)P2(x)P3(x)。(2) P(x)=0的全部根。(3) 计算xi=0.2i (i=0,1,2,10)各点上的P(xi)。答:(1) 程序设计:clear all; close all; clc;P1=0, 3, 2; P2=5, -1, 2; P3=1, 0, -0.5;P=conv(conv(P1, P2), P3)运行结果:P =0 15.0000 7.0000 -3.5000 0.5000 -2.0000 -2.0000所以P(x)=15x5+7x4-3.5x3+0.5x2-2x-2(2) 程序设计:r=roots(P)运行结果:r =0.7071
9、0.1000 + 0.6245i0.1000 - 0.6245i-0.7071-0.6667(3) 程序设计:i=0:10;xi=0.2*i;Pxi=polyval(P, xi)运行结果:Pxi =-2.0000 -2.3920 -2.6112 -1.7024 2.7104 15.0000 42.1120 94.1408 184.9056 332.5264 560.00005. 求函数在指定点的数值导数。答:(1) 程序设计:clear all; close all; clc;x=pi/6, pi/4, pi/3;f=inline(sin(x).2+cos(x).2);dx=diff(f(x,
10、 5*pi/12)/(pi/12) %可参见教材第157页例6.19运行结果:dx =0 0 0%当x=pi/2时单独计算x=pi/2;f=inline(sin(x).2+cos(x).2);dx=diff(f(x, pi)/(pi/2)dx =(2) 程序设计:clear all; close all; clc;x=1:3;f=inline(sqrt(x.2+1);dx=diff(f(x, 4)运行结果:dx =0.8219 0.9262 0.96086. 求数值积分。答:(1) 程序设计:clear all; close all; clc;f=inline(sin(x).5.*sin(5*
11、x);qf=quad(f, 0, pi)运行结果:qf =0.0982(2) 程序设计:clear all; close all; clc;f=inline(1+x.2)./(1+x.4);qf=quad(f, -1, 1)运行结果:qf =2.2214(3) 程序设计:clear all; close all; clc;f=inline(x.*sin(x)./(1+cos(x).2);qf=quad(f, 0, pi)运行结果:qf =2.46747. 分别用矩阵求逆、矩阵除法以及矩阵分解求线性方程组的解。答:(1) 程序设计:方法1:矩阵求逆法clear all; close all; c
12、lc;A=2, 3, 5; 3, 7, 4; 1, -7, 1;b=10; 3; 5;x=inv(A)*b运行结果:x =-1.8060-0.53733.0448方法2:左除运算符法clear all; close all; clc;A=2, 3, 5; 3, 7, 4; 1, -7, 1;b=10; 3; 5;x=Ab运行结果:x =-1.8060-0.53733.0448方法3:矩阵LU分解法clear all; close all; clc;A=2, 3, 5; 3, 7, 4; 1, -7, 1;b=10; 3; 5;L, U=lu(A);x=U(Lb)运行结果:x =-1.8060-
13、0.53733.0448 (2) 程序设计:方法1:矩阵求逆法clear all; close all; clc;A=5, 1, -1, 0; 1, 0, 3, -1;-1,-1,0, 5; 0, 0, 2, 4;b=1; 2; 3; -1;x=inv(A)*b运行结果:x =1.4000-5.90000.1000-0.3000方法2:左除运算符法clear all; close all; clc;A=5, 1, -1, 0; 1, 0, 3, -1;-1,-1,0, 5; 0, 0, 2, 4;b=1; 2; 3; -1;x=Ab运行结果:x =1.4000-5.90000.1000-0.3
14、000方法3:矩阵LU分解法clear all; close all; clc;A=5, 1, -1, 0; 1, 0, 3, -1;-1,-1,0, 5; 0, 0, 2, 4;b=1; 2; 3; -1;L, U=lu(A);x=U(Lb)运行结果:x =1.4000-5.90000.1000-0.30008. 求下列方程的根。答:(1) 程序设计:clear all; close all; clc;f=inline(x-sin(x)./x);x=fzero(f, 0.5)运行结果:x =0.8767(2) 程序设计:clear all; close all; clc;f=inline(s
15、in(x).2).*exp(-0.1.*x)-0.5.*abs(x);x=fzero(f, 1.5)运行结果:x =1.67389. 求非线性方程组在(0.5,0.5)旁边的数值解。答:函数文件fxy.m:function f=fxy(u)x=u(1); y=u(2);f(1)=x-0.6*sin(x)-0.3*cos(y);f(2)=y-0.6*cos(x)+0.3*sin(y);在嘱咐窗口输入以下嘱咐:clear all; close all; clc;x=fsolve(fxy, 0.5, 0.5, optimset(Display, off)运行结果:x =0.6354 0.373410. 求常微分方程的数值解。答:建立函数文件funx.m:function yp=funx(x, y)yp=2*x*(1+1/y);求解微分方程的嘱咐文件:clear all; close all; clc;x0=0; xf=20;y0=0+eps;x, y=ode45(funx, x0, xf, y0);plot(x, y, r);第 8 页