当前位置:
文档之家› 第06章_MATLAB数值计算_参考解答
第06章_MATLAB数值计算_参考解答
%可参见教材第 157 页例 6.19
运行结果: dx =
000
%当 x=pi/2 时单独计算 x=pi/2; f=inline('sin(x).^2+cos(x).^2'); dx=diff(f([x, pi]))/(pi/2)
dx = 0
(2) 程序设计: clear all; close all; clc; x=1:3; f=inline('sqrt(x.^2+1)'); dx=diff(f([x, 4]))
运行结果:
U= 1.0e-004 * -0.0675
0.1715
fmin = 1.9920e-010
(2) 程序设计: clear all; close all; clc; f=inline('-sin(x)-cos(x.^2)'); fmax=fminbnd(f, 0, pi)
%用内联函数,求负的最小值 %注意函数名 f 不加单引号'
高教社刘卫国《MATLAB 程序设计与应用》(第二版)习题参考解答
第 6 章:MATLAB 数值计算
教材 P189 习题六
第 6 章 MATLAB 数值计算
1. 利用 MATLAB 提供的 randn 函数生成符合正态分布的 10×5 随机矩阵 A,进行如下操 作:
(1) A 各列元素的均值和标准方差。 (2) A 的最大元素和最小元素。 (3) 求 A 每行元素的和以及全部元素之和。 (4) 分别对 A 的每列元素按升序、每行元素按降序排列。 答:
运行结果: 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 0.1000 + 0.6245i
王成优©山东大学(威海)MATLAB 语言
运行结果:
王成优©山东大学(威海)MATLAB 语言
2
WangChengyou © Shandong University, Weihai
高教社刘卫国《MATLAB 程序设计与应用》(第二版)习题参考解答
第 6 章:MATLAB 数值计算
(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 次多项式插值');
运行结果: fmax =
0.7310
王成优©山东大学(威海)MATLAB 语言
5
WangChengyou © Shandong University, Weihai
高教社刘卫国《MATLAB 程序设计与应用》(第二版)习题参考解答
第 6 章:MATLAB 数值计算
6. 求函数在指定点的数值导数。
(1) f (x) = sin2 x + cos2 x , x = π , π , π , π 6432
rowsumA=sum(A, 2); %(3)A 每行元素的和
sumA=sum(rowsumA); %(3)A 全部元素之和
sort1=sort(A);
%(4)A 的每列元素按升序排列
sort2=sort(A, 2, 'descend'); %(4)A 的每行元素按降序排列
运行结果:(略)
2. 按要求对指定函数进行插值和拟合。
运行结果:
Pxi = -2.0000 -2.3920 184.9056 332.5264
-2.6112 560.0000
-1.7024
2.7104 15.0000 42.1120 94.1408
5. 求函数在指定区间的极值。 (1) f (x, y) = 3x2 + 2xy + y2 在[1,1]附近的最小值。
运行结果: dx0.9608
7. 求数值积分。
∫ (1) π sin5 x sin(5x)dx 0
∫1 1+ x2
(2) −11+ x4 dx
∫ π x sin x
(3)
0
1+
cos2
dx x
(4) ∫∫ cos(x + y)dxdy , Ω : 0 ≤ x ≤ π, 0 ≤ y ≤ π
程序设计:
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 的最小元素
运行结果:
P= 1.0e+003 * -0.0000
0.0013
-0.1779
8.4330
所以它的线性拟合曲线为:P(x)=1.3x2-177.9x+8433
4. 已知多项式 P1(x) = 3x + 2 , P2 (x) = 5x2 − x + 2 , P3 (x) = x2 − 0.5 ,求 (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)
Ω
答:
(1) 程序设计:
王成优©山东大学(威海)MATLAB 语言
6
WangChengyou © Shandong University, Weihai
高教社刘卫国《MATLAB 程序设计与应用》(第二版)习题参考解答
第 6 章:MATLAB 数值计算
clear all; close all; clc; f=inline('sin(x).^5.*sin(5*x)'); qf=quad(f, 0, pi)
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; %绘精确正弦曲线
王成优©山东大学(威海)MATLAB 语言
4
WangChengyou © Shandong University, Weihai
高教社刘卫国《MATLAB 程序设计与应用》(第二版)习题参考解答
第 6 章:MATLAB 数值计算
0.1000 - 0.6245i -0.7071 -0.6667
(3) 程序设计: i=0:10; xi=0.2*i; Pxi=polyval(P, xi)
运行结果: 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)
(1) 按表 6.4 用 3 次样条方法插值计算 0 ~ 90D 范围内整数点的正弦值和 0 ~ 75D 范围内整
数点的正切值,然后用 5 次多项式拟合方法计算相同的函数值,并将两种计算结果进行
比较。
表 6.4 特殊角的正弦和正切值表
α (度)
0
15
30
45
60
75
90
sin α tan α
0
0.2588
运行结果:
王成优©山东大学(威海)MATLAB 语言
3
WangChengyou © Shandong University, Weihai
高教社刘卫国《MATLAB 程序设计与应用》(第二版)习题参考解答
第 6 章:MATLAB 数值计算
3. 已知一组实验数据如表 6.6 所示。
表 6.6 特殊角的正弦和正切值表
0.5000
0.7071
0.8660
0.9659
1.0000
0
0.2679
0.5774
1.0000
1.7320
3.7320
(2) 按表 6.5 用 3 次多项式方法插值计算 1~100 之间整数的平方根。
表 6.5 1~100 内特殊值的平方根表
N
1
4
9
16
25
36
49
64
81 100
N
1
2
3
4
5
6
(2) f (x) = x2 +1, x = 1, 2,3