第6章 MATLAB数值计算1-数据处理与多项式计算
第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
第六讲 MATLAB数值计算
5.2.4 矩阵的秩
求矩阵秩的函数: rank(A)。
例如,求例 5.7 中方程组系数矩阵 D 的秩,命令是:
D=[2, 2, -1, 1; 4, 3, -1, 2; 8, 5, -3, 4; 3, 3, -2, 2]; r=rank(D) r= 4
说明D是一个满秩矩阵。
5.2.5 向量和矩阵的范数
第五讲 MATLAB数值计算
5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 特殊矩阵 矩阵分析 矩阵分解与线性方程组求解 数据处理与多项式计算 傅立叶分析 数值微积分 常微分方程的数值求解 非线性方程的数值求解 稀疏矩阵
5.1 特殊矩阵
5.1.1 对角阵与三角阵
1. 矩阵的对角元素 (1)提取矩阵的对角线元素 设 A 为 m×n 矩阵, diag(A) 函数用于提取矩阵 A主对 角线元素产生一个具有min(m,n)个元素的列向量。 (2)构造对角矩阵
2. 矩阵的伪逆
对奇异方阵和长方阵,求矩阵伪逆的函数是 pinv(A)。
例5.5 求A的伪逆,并将结果送B。 A=[3,1,1,1; 1,3,1,1; 1,1,3,1]; B=pinv(A) 例5.6 求矩阵A的伪逆。 A=[0,0,0; 0,1,0; 0,0,1]; pinv(A)
5.2.3 方阵的行列式
函数A = pascal(n)生成一个n阶的帕斯卡矩阵。
1 1 3 4 6 10 10 20 15 35
1 5 15 35 70
5.2 矩阵分析
5.2.1 矩阵结构变换
1. 矩阵的转置
转置运算符是单撇号(')。
2. 矩阵的旋转
矩阵的旋转利用函数 rot90(A,k) ,功能是将矩阵 A旋 转90º 的k倍,当k为1时可省略。
第6章MATLAB数值计算
第6章MATLAB数值计算MATLAB是一种流行的数值计算软件,它提供了各种函数和工具箱,用于解决数值计算问题。
在本章中,我们将介绍一些MATLAB中常用的数值计算方法和技巧。
1.数值计算基础:MATLAB中的数值计算基于矩阵和向量运算。
矩阵和向量在MATLAB中被表示为一维或多维数组。
用户可以使用MATLAB内置的函数来定义和操作这些数组。
2. 解方程:MATLAB提供了几种方法来解决线性和非线性方程。
对于线性方程组,可以使用内置的线性代数函数来求解,如inv(、\(和lsqnonneg(等。
对于非线性方程,可以使用内置的非线性方程求解函数fsolve(来求解。
3. 数值积分:MATLAB提供了多种数值积分方法来近似计算定积分。
用户可以使用内置的数值积分函数,如quad(、integral(和trapz(等,来计算定积分的数值近似值。
4. 微分方程:MATLAB提供了一些函数和工具箱来求解常微分方程。
用户可以使用内置的ODE求解器,如ode45(、ode23(和ode15s(等,来求解常微分方程的数值解。
5. 优化:MATLAB提供了一些函数和工具箱来解决优化问题。
用户可以使用内置的优化函数,如fminunc(、fmincon(和linprog(等,来寻找函数的最小值或满足一定约束条件的最优解。
6. 统计分析:MATLAB提供了丰富的统计函数和工具箱,用于数据分析和统计建模。
用户可以使用统计函数,如mean(、std(和histogram(等,来计算数据的平均值、标准差和直方图等。
7. 曲线拟合:MATLAB提供了一些函数和工具箱来进行曲线拟合。
用户可以使用内置的曲线拟合函数,如polyfit(、lsqcurvefit(和spline(等,来拟合数据并得到拟合曲线的参数。
8. 数值计算精度:MATLAB中的数值计算精度可以通过设置位数和步长来控制。
用户可以使用内置的设置函数,如format(和eps(等,来改变数值的显示格式和计算精度。
Matlab基础及其应用-数据分析与多项式计算
>> density=[1.1,1.2,1.0,0.9,1.2,1.1,0.9,0.6,1.0,0.9,1.1,0.9,1.1,1,0.7]; >> cruortime=[14,13,15,15,13,14,16,17,14,16,15,16,14,15,17]; >> R=corrcoef(density,cruortime) R=
S = sum(X,dim):当dim为1(默认值)时,该函数等同于
sum(X);当dim为2时,返回一个列向量,其第i个元素是X的
第i行的各元素之和。
数据序列求积的函数是prod
6.1 数据统计处理
MATLAB基础与应用教程
【例6.3】已知
求矩阵A的每行元素之和和全部元素之和。
>> A=[9,10,11,12;100,200,300,400;50,60,50,60];
[R,P]=corrcoef(X):返回矩阵X各列的相关系数,计算时把 矩阵X的每列作为一个观测变量,然后求各列的相关系数。
6.1 数据统计处理
MATLAB基础与应用教程
【例6.7】随机抽取15名健康成人,测定血液的凝血酶浓度 及凝血时间,数据如表6.3所示。分析凝血酶浓度与凝血时 间之间的相关性。
MATLAB基础与应用教程
【例6.5】某次射击选拔比赛中小明与小华的10次射击成绩 (单位:环)如表6.1所示,试比较两人的成绩。
>> hitmark=[7,4,9,8,10,7,8,7,8,7;7,6,10,5,9,8,10,9,5,6]; >> mean(hitmark,2) ans =
7.5000 7.5000 >> std(hitmark,[],2) ans = 1.5811 1.9579
第六章matlab数值计算
➢一维插值方法比较
例6-10 用不同插值法对数据进行一维插值
x=0:1:10; y =[0 0.8415 0.9093 0.1411 -0.7568 -0.9589 -0.2794 0.657 0.9894 0.4121 -0.5440]; plot(x,y,'co'),hold on fplot(@sin,[0 10]) xi=0:0.15:10; yi=interp1(x,y,xi); figure,plot(xi,yi,'r+'),text(0.7028,0.4649,'线性插值\rightarrow') yi2=interp1(x,y,xi,'nearst'); figure,plot(xi,yi2,'c*'),text(3.537,0.1374,'\leftarrow最近插值') yi3=interp1(x,y,xi,'cubic'); plot(xi,yi3,'md'),text(2.408,0.8333,'\leftarrow三次插值') yi4=interp1(x,y,xi,'spline'); figure,plot(xi,yi4,'kh'),text(4.62,0.8158,'三次样条插值 \rightarrow')
[x,y]=meshgrid(-3:0.8:3); z=peaks(x,y); [xi,yi]=meshgrid(-1:0.25:3); zi_nearest=interp2(x,y,z,xi,yi,'nearset'); zi_linear=interp2(x,y,z,xi,yi); zi_spline=interp2(x,y,z,xi,yi,'spline'); figure; hold on; subplot(2,2,1); meshc(x,y,z); title(‘原始数据'); subplot(2,2,2); meshc(xi,yi,zi_nearest); title(‘最邻近插值'); subplot(2,2,3); meshc(xi,yi,zi_linear); title(‘线性插值'); subplot(2,2,4); meshc(xi,yi,zi_spline); title(‘三次样条插值');
MATLAB_SWPU第六章 数值计算
例:a=[1 2 3;4 5 6;7 8 0]; p=poly(a) p =1.00 -6.00 -72.00 -27.00 p是多项式p(x)=x3-6x2-72x-27的matlab描 述方法,我们可用: p1=poly2str(p,‘x’) — 函数文件,显示 数学多项式的形式 p1 =x^3 - 6 x^2 - 72 x - 27
>> P=[3 5 0 1 0 12] P= 3 5 0 1 0 12 >> y=poly2sym(P) y= 3*x^5+5*x^4+x^2+ 12 >> disp(y) 3*x^5+5*x^4+x^2+ 12 >>
特征多项式输入法
MATLAB 7提供了 poly函数,使用它 可以由矩阵的特征 多项式创建多项式。 使用该方法生成多 项式时,其首项的 系数必为1 。
deconv多项式除运算
a=[1 2 3]; c = [4.00 13.00 28.00 27.00 18.00] d=deconv(c,a) d =4.00 5.00 6.00
[d,r]=deconv(c,a) 余数 c除a后的整数
多项式的四则运算
(1)多项式的加减法 (2)多项式的乘法 函数conv(P1,P2)用于求多项式P1和P2的乘积。 (3)多项式的除法 函数[Q,r]=deconv(P1,P2)用于对多项式P1和P2 作除法运算。其中Q返回多项式P1除以P2的商式, r返回P1除以P2的余式。这里,Q和r仍是多项式 系数向量。 deconv是conv的逆函数,即有 P1=conv(P2,Q)+r。
多项式的四则运算
第6章 MATLAB数据分析与多项式计算
3.两个向量或矩阵对应元素的比较 . U=max(A,B) A,B是两个同型的向量或矩阵,结果 是与 是两个同型的向量或矩阵, 是两个同型的向量或矩阵 结果U是与 A,B同型的向量或矩阵,U的每个元素等于 同型的向量或矩阵, 的每个元素等于 的每个元素等于A,B 同型的向量或矩阵 对应元素的较大者。 对应元素的较大者。 (2) U=max(A,n) n是一个标量,结果 是与 同型的向量或 是一个标量, 是与A同型的向量或 是一个标量 结果U是与 矩阵, 的每个元素等于 对应元素和n中的较 的每个元素等于A对应元素和 矩阵,U的每个元素等于 对应元素和 中的较 大者。 大者。 min函数的用法和 函数的用法和max完全相同。 完全相同。 函数的用法和 完全相同 求两个2× 矩阵 矩阵x, 所有同一位置上的较大 例6-3 求两个 ×3矩阵 y所有同一位置上的较大 元素构成的新矩阵p。 元素构成的新矩阵 。
6.1.3 平均值和中值 mean(X) 返回向量X的算术平均值 的算术平均值。 返回向量 的算术平均值。 median(X) 返回向量 的中值。 返回向量X的中值 的中值。 mean(A) 返回一个行向量,其第i个元素是 的第i列 个元素是A的第 返回一个行向量,其第 个元素是 的第 列 的算术平均值。 的算术平均值。 median(A) 返回一个行向量,其第 个元素是 的第 返回一个行向量,其第i个元素是 的第i 个元素是A的第 列的中值。 列的中值。 mean(A,dim) 当dim为1时,该函数等同于 为 时 该函数等同于mean(A);当 ; dim为2时,返回一个列向量,其第 个元素是 的第 个元素是A的第 为 时 返回一个列向量,其第i个元素是 的第i 行的算术平均值。 行的算术平均值。 median(A,dim) 当dim为1时,该函数等同于 为 时 该函数等同于median(A); ; 个元素是A的 当dim为2时,返回一个列向量,其第 个元素是 的 为 时 返回一个列向量,其第i个元素是 行的中值。 第i行的中值。 行的中值 分别求向量x与 的平均值和中值 的平均值和中值。 例6-5 分别求向量 与y的平均值和中值。
第6章MATLAB数据分析与多项式计算
第6章MATLAB数据分析与多项式计算MATLAB是一种面向科学和工程计算的计算机语言和环境。
它具有强大的数据分析和多项式计算功能,可以用于数据处理、统计分析、曲线拟合、插值计算、解方程等多种应用。
数据分析是从数据中提取有用信息的过程,其中使用MATLAB可以轻松地进行各种数据操作和分析。
MATLAB提供了各种统计分析函数,可以计算数据的统计特征,如均值、方差、标准差、相关系数等。
同时,它还提供了数据绘图功能,可以将数据以直方图、散点图、折线图等形式展示出来,帮助用户更好地理解数据。
多项式计算是利用多项式进行数值计算的过程。
在MATLAB中,可以使用多种方法进行多项式计算,如多项式加减乘除、多项式求值、多项式插值等。
MATLAB提供了丰富的多项式操作函数,可以方便地进行多项式运算和计算。
在数据分析中,多项式计算经常用于曲线拟合和插值计算。
曲线拟合是根据给定的数据点,找出一个与之最接近的曲线。
MATLAB提供了polyfit函数,可以根据给定的数据点和多项式阶数,自动拟合出最优的多项式曲线。
此外,MATLAB还提供了curvefit函数,可以进行更加复杂的曲线拟合,如指数曲线拟合、对数曲线拟合等。
插值计算是根据已知的数据点,通过插值方法找出在这些数据点之间的未知点的近似值。
MATLAB提供了interp1函数,可以根据给定的数据点和插值方法,自动进行插值计算。
此外,MATLAB还提供了interp2函数,可以进行二维插值计算。
除了数据分析和多项式计算功能,MATLAB还具有其他强大的数值计算功能,如数值积分、数值微分、解线性方程组等。
这些功能使得MATLAB成为科学与工程领域中常用的计算工具。
在使用MATLAB进行数据分析和多项式计算时,需要注意数据的有效性和合理性。
数据分析的结果只能作为参考,不能作为绝对的判断依据。
多项式计算的结果也可能存在误差,需要进行适当的精度控制。
总之,MATLAB是一款功能强大的数据分析和多项式计算工具,可以帮助科学家和工程师快速、准确地进行各种数值计算和分析任务。
第六章MATLAB数值计算
第六章MATLAB 数值计算6-1多项式的运算6 —1-1多项式的生成和表达1.多项式的表达在MATLAB 环境下多项式是用向量的形式表达的。
向量最右边的元素表示多项式的阶,向左数依次表示多项式的第1阶、第2阶、第3阶…。
例如多项式5x 4 3x 2 2x 1表示为:[5 0 3 2 1]。
2. 多项式的生成 语法: P=ploy (MA) 说明:1. 若MA 为方阵,则生成的多项式 P 为方阵MA 的特征多项式。
若MA 为向量,则向量和多项式满足这样一种关系MA r 1 r 2 |||r n ,生成的多项式为:x r 1 x r 2 xr 3x r na 0x n a 1x n 13. 直接输入的方式生成多项式。
例6-1利用方阵M=[5 6 7;8 9 1;11 12 13 ]生成一个多项式(为方阵 M 的特征多项式) 程序设计: >> clearM=[5 6 7 ; 8 9 1;11 12 13]; P=poly(M ) ; %产生多项式的向量表达式 Px=poly2str ( P,'x') ; %生成常见的多项式表示形式P,Px 运行结果: P =1.0000 —27.0000 90。
000054。
0000Px =x A 3 - 27 x A 2 + 90 x + 54 例6-2利用向量A= : 2 3 4 5]生成一个多项式。
程序设计:2.呆 2|||a n 1x a n〉 >clearA=[2 3 4 5] ; P=poly (A ); Px=poly2str (P , 'x ') ; P ,Px 运行结果 : P =1— 1471 — 154 120Px =x A 4 — 14 x A 3 + 71 x A 2 — 154 x + 1206—1-2 多项式的乘除语法:A.c=conv ( a , b )B. [q,r ] =decony ( c , a ) 说明: 1.a 、b 和c 分别是多项式的向量表示形式。
MATLAB与多项式计算
例 1 :求(x3 2x 2 5x) (6 x 1 )
例2:求(x 4 8x3 10 ) (2 x 2 x 3)和 (x 4 8x3 10 ) (2 x 2 x 3)的值
2.2多项式的导函数
p polyder ( P) :求多项式P的导函数; p polyder ( P, Q)
g ( x) x 1.3333 x 1.66667 x 2.4x 1.66667
5 3 2
'
2.3、多项式求值
y=polyval(p,x) 若x为一数值,则求多项式在该点的值; 如x为一向量或矩阵,则对向量或矩阵中每一个元素求其 多项式的值
2.4、多项式求根 MATLAB提供的roots函数用于求多项式的全部根,其调用 格式为: x=roots(p) 其中p为多项式的系数向量,求得的根赋给向量x,即 x(1),x(2),x(3)….x(n)分别代表多项式的n个根。
例:求多项式 x 4 8x3 10的根
若已知多项式的全部根,即可以用poly函数建立多项 式,其调用格式为:p=poly(x)。即poly(x)建立以x为其 根的多项式,且将该多项式的系数赋给向量p。
例:已知f ( x) 3 x 5 4 x 3 5 x 2 7.2 x 5, 求f ( x) 0的全部根;并由 f ( x) 0的根构造一个多项式 g ( x) 与f ( x)进行比较。
第i行元素的积/和。
1. 3、平均值和中值 mean(x):返回向量x的算术平均值;
mean(A):返回一个行向量,其第i个元素是矩阵A的第i
列的算术平均值;
mean(A,dim):dim取1时,该函数和 mean(A)完全相同;
第6章 MATLAB数据分析与多项式计算_习题答案教学提纲
第6章M A T L A B数据分析与多项式计算_习题答案精品资料第6章 MATLAB数据分析与多项式计算习题6一、选择题1.设A=[1,2,3,4,5;3,4,5,6,7],则min(max(A))的值是()。
BA.1 B.3 C.5 D.72.已知a为3×3矩阵,则运行mean(a)命令是()。
BA.计算a每行的平均值 B.计算a每列的平均值C.a增加一行平均值 D.a增加一列平均值3.在MATLAB命令行窗口输入下列命令:>> x=[1,2,3,4];>> y=polyval(x,1);则y的值为()。
DA.5 B.8 C.24 D.104.设P是多项式系数向量,A为方阵,则函数polyval(P,A)与函数polyvalm(P,A)的值()。
DA.一个是标量,一个是方阵 B.都是标量C.值相等 D.值不相等5.在MATLAB命令行窗口输入下列命令:>> A=[1,0,-2];>> x=roots(A);则x(1)的值为()。
CA.1 B.-2 C.1.4142 D.-1.41426.关于数据插值与曲线拟合,下列说法不正确的是()。
AA.3次样条方法的插值结果肯定比线性插值方法精度高。
B.插值函数是必须满足原始数据点坐标,而拟合函数则是整体最接近原始数据点,而不一定要必须经过原始数据点。
C.曲线拟合常常采用最小二乘原理,即要求拟合函数与原始数据的均方误差达到极小。
D.插值和拟合都是通过已知数据集来求取未知点的函数值。
二、填空题1.设A=[1,2,3;10 20 30;4 5 6],则sum(A)= ,median(A)= 。
[15 27 39],[4 5 6[2.向量[2,0,-1]所代表的多项式是。
2x2-1仅供学习与交流,如有侵权请联系网站删除谢谢2精品资料3.为了求ax2+bx+c=0的根,相应的命令是(假定a、b、c已经赋值)。
第6讲MATLAB的数值计算
第6讲MATLAB的数值计算MATLAB(Matrix Laboratory)是一种使用高级编程语言和环境的数值计算软件。
它的设计初衷是为了简化科学和工程的数值计算过程,提供了许多功能强大的工具和函数,可以用于解决各种数学问题。
在本讲中,我们将介绍MATLAB的数值计算功能以及如何使用它进行数据分析和数值模拟。
首先,MATLAB提供了丰富的数学函数,可以用于计算各种数学运算,如基本的加减乘除、三角函数、指数函数等。
这些函数可以直接调用,无需编写复杂的程序来实现。
例如,计算一个数的平方可以使用`sqrt(`函数,计算两个数的和可以使用`sum(`函数,计算一个矩阵的逆可以使用`inv(`函数。
此外,MATLAB还提供了一些特殊的数学函数,如贝塞尔函数、Gamma函数等,可以用于更复杂的数学计算。
其次,MATLAB提供了强大的矩阵和向量计算功能。
在MATLAB中,矩阵和向量是一种基本的数据类型,可以进行各种矩阵运算。
MATLAB提供了许多矩阵运算的函数,如矩阵乘法`*`、矩阵加法`+`、矩阵转置`'`等。
此外,MATLAB还提供了一些专门用于矩阵和向量计算的函数,如求矩阵的行列式`det(`、求矩阵的特征值`eig(`、求矩阵的秩`rank(`等。
这些函数可以帮助我们进行复杂的矩阵运算,如矩阵的特征分解、矩阵的奇异值分解等。
再次,MATLAB提供了丰富的数据分析和统计工具。
在MATLAB中,我们可以使用各种函数来对数据进行处理和分析。
例如,我们可以使用`mean(`函数来计算数据的平均值,使用`std(`函数来计算数据的标准差,使用`histogram(`函数来绘制数据的直方图等。
此外,MATLAB还提供了一些专门用于数据分析和统计的工具箱,如统计工具箱、数据拟合工具箱等。
这些工具箱提供了许多高级的数据分析方法和算法,可以帮助我们进行更深入的数据分析。
最后,MATLAB还可以用于数值模拟和求解各种数学模型。
第6章_MATLAB数值计算_part2
6.2.2 数值积分
b a b
f ( x)dx p1 ( x)dx (b a )
a
b
f (a ) f (b) 2 ab
( f (a) 4 f ( ) f (b)) 数值积分方法 6 2 n 1 求解定积分的数值方法多种多样, h T f ( a ) f ( b ) 2 f ( a kh ) n 如简单的梯形法、辛普生 2 k 1 (Simpson)• 法、牛顿-柯特斯 h S ( f (x ) 4 f (x ) f ( x 1)) (Newton-Cotes)法等都是经常采 6 用的方法。 h f (a) 4 f ( x ) 2 f ( x ) f (b) 基本思想 6
第6章 MATLAB数值计算
6.1 6.2 6.3 6.4 6.5 数据处理与多项式计算 数值微积分 线性方程组求解 最优化问.1 数值微分(导数) 不关心微分的形式和性质,只关心该微分在一串离散点 的近似值以及所计算的近似值有多大的误差。 MATLAB下求数值导数的两种方法:
I e
0
1
x2
dx
2 被积函数由一个表格定义
在科学实验和工程应用中,函数关系往往是不知道 的,只有实验测定的一组样本点和样本值,这时, 就无法使用quad函数计算其定积分。 在MATLAB中,对由表格形式定义的函数关系的求 定积分问题用trapz(X,Y)函数。 其中向量X、Y定义函数关系Y=f(X)。
值得一提的是,当已知给出的样本数N0不是2 的幂次时,可以取一个N使它大于N0且是2 的幂次,然后利用函数格式fft(X,N)或 fft(X,N,dim)便可进行快速傅立叶变换。这 样,计算速度将大大加快。 相应地,一维离散傅立叶逆变换函数是ifft。 ifft(F)返回F的一维离散傅立叶逆变换; ifft(F,N)为N点逆变换;ifft(F,[],dim)或 ifft(F,N,dim)则由N或dim确定逆变换的点数 或操作方向。
第六章MATLAB数据分析与功能函数
A=
8
1
6
3
5
7
4
9
2
>> [Y,I]=sort(A,2,'descend') Y=
861 753 942 I= 132 321 213
10 点击图形窗口的Tool\Data Statistics,对数据进行分析
6.1.2 用于场论的数据分析函数
1.两个向量点积运算dot 2. 两个向量叉积运算cross
7. 求积与累乘积 (和前面所有的数相乘放在现在的位置)
prod(X):返回向量X各元素的乘积。 prod(A):返回一个行向量,其第i个元素是A的第i列的元素乘积。 prod(A,dim):当dim为1时,该函数等同于prod(A);当dim为2时,返回一个 列向量,其第i个元素是A的第i行的各元素乘积。 cumprod(X):返回向量X累乘积向量。 cumprod(A):返回一个矩阵,其第i列是A的第i列的累乘积向量。 cumprod(A,dim):当dim为1时,该函数等同于cumprod(A);当dim为2时, 返回一个向量,其第i行是A的第i行的累乘积向量。
数据序列求和与求积的函数是sum和prod,其使用方法类似。设X是 一个向量,A是一个矩阵,函数的调用格式为: sum(X):返回向量X各元素的和。 sum(A):返回一个行向量,其第i个元素是A第i列的元素和。 sum(A,dim):当dim为1时,该函数等同于sum(A);当dim为2时,返回一 个列向量,其第i个元素是A的第i行的各元素之和。 cumsum(X):返回向量X累加和向量。 cumsum(A):返回一个矩阵,其第i列是A的第i列的累加和向量。 cumsum(A,dim):当dim为1时,该函数等同于cumsum(A);当dim为2时 ,返回一个矩阵,其第i行是A的第i行的累加和向量。
第6章 MATLAB数据分析与多项式计算_习题答案
第6章 MATLAB数据分析与多项式计算习题6一、选择题1.设A=[1,2,3,4,5;3,4,5,6,7],则min(max(A))的值是()。
BA.1 B.3 C.5 D.72.已知a为3×3矩阵,则运行mean(a)命令是()。
BA.计算a每行的平均值B.计算a每列的平均值C.a增加一行平均值D.a增加一列平均值3.在MA TLAB命令行窗口输入下列命令:>> x=[1,2,3,4];>> y=polyval(x,1);则y的值为()。
DA.5 B.8 C.24 D.104.设P是多项式系数向量,A为方阵,则函数polyval(P,A)与函数polyvalm(P,A)的值()。
DA.一个是标量,一个是方阵B.都是标量C.值相等D.值不相等5.在MA TLAB命令行窗口输入下列命令:>> A=[1,0,-2];>> x=roots(A);则x(1)的值为()。
CA.1 B.-2 C.1.4142 D.-1.41426.关于数据插值与曲线拟合,下列说法不正确的是()。
AA.3次样条方法的插值结果肯定比线性插值方法精度高。
B.插值函数是必须满足原始数据点坐标,而拟合函数则是整体最接近原始数据点,而不一定要必须经过原始数据点。
C.曲线拟合常常采用最小二乘原理,即要求拟合函数与原始数据的均方误差达到极小。
D.插值和拟合都是通过已知数据集来求取未知点的函数值。
二、填空题1.设A=[1,2,3;10 20 30;4 5 6],则sum(A)= ,median(A)= 。
[15 27 39],[4 5 6[2.向量[2,0,-1]所代表的多项式是。
2x2-13.为了求ax2+bx+c=0的根,相应的命令是(假定a、b、c已经赋值)。
为了将求得的根代回方程进行验证,相应的命令是。
x=roots([a,b,c]),polyval([a,b,c],x)4.如果被插值函数是一个单变量函数,则称为插值,相应的MA TLAB函数是。
第6章MATLAB数值计算6.1 数据处理与多项式计算6.2 数值微
(3)两个向量或矩阵对应元素的比较 函数max和min还能对两个同型的向量或矩阵进行比较, 调用格式为: U=max(A,B):A,B是两个同型的向量或矩阵,结果U是与 A,B同型的向量或矩阵,U的每个元素等于A,B对应元素的 较大者。 U=max(A,n):n是一个标量,结果U是与A同型的向量或 矩阵,U的每个元素等于A对应元素和n中的较大者。 min函数的用法和max完全相同。 例 求两个2×3矩阵x, y所有同一位置上的较大元素构成的 新矩阵p。
3. 矩阵元素求和与求积 数据序列求和与求积的函数是sum和prod, 其使用方法类似。设X是一个向量,A是一 个矩阵,函数的调用格式为: sum(X):返回向量X各元素的和。 prod(X):返回向量X各元素的乘积。 sum(A):返回一个行向量,其第i个元素是A 的第i列的元素和。
prod(A):返回一个行向量,其第i个元素是A 的第i列的元素乘积。 sum(A,dim):当dim为1时,该函数等同于 sum(A);当dim为2时,返回一个列向量, 其第i个元素是A的第i行的各元素之和。 prod(A,dim):当dim为1时,该函数等同于 prod(A);当dim为2时,返回一个列向量, 其第i个元素是A的第i行的各元素乘积。 例6.2 求矩阵A的每行元素的乘积和全部元素 的乘积。
5.求标准方差 在MATLAB中,提供了计算数据序列的标准方差的函数std。 对于向量X,std(X)返回一个标准方差。对于矩阵A, std(A)返回一个行向量,它的各个元素便是矩阵A各列或 各行的标准方差。std函数的一般调用格式为: Y=std(A,flag,dim) 其中dim取1或2。当dim=1时,求各列元素的标准方差;当 dim=2时,则求各行元素的标准方差。flag取0或1,当 flag=0时,按σ1所列公式计算标准方差,当flag=1时,按 σ2所列公式计算标准方差。缺省flag=0,dim=1。 例6.4 对二维矩阵x,从不同维方向000×5随机矩 阵,然后求各列元素的均值和标准方差, 再求这5列随机数据的相关系数矩阵。 命令如下: X=randn(10000,5); M=mean(X) D=std(X) R=corrcoef(X)
MATLAB编程与工程应用——第6章 MATLAB数据分析与多项式计算
MATLAB数据分析与多项式计算
二、二维数据插值
某实验对一根长10 10米的钢轨进行热源的温度传播测 例6.10 某实验对一根长10米的钢轨进行热源的温度传播测 表示测量点0:2.5:10( 0:2.5:10(米 试。用x表示测量点0:2.5:10(米),用h表示测量时间 0:30:60(秒 表示测试所得各点的温度(℃) (℃)。 0:30:60(秒),用T表示测试所得各点的温度(℃)。试用 线性插值求出在一分钟内每隔20 20秒 钢轨每隔1 线性插值求出在一分钟内每隔20秒、钢轨每隔1米处的温 TI。 度TI。 命令如下: x=0:2.5:10; h=[0:30:60]'; T=[95,14,0,0,0;88,48,32,12,6;67,64,54,48,41]; xi=[0:10]; hi=[0:20:60]'; TI=interp2(x,h,T,xi,hi) exp6_10.m
MATLAB数据分析与多项式计算
6.2 数据插值
二、二维数据插值
z1=interp2(x,y,z,x1,y1,'method') 其中x,y是两个向量,分别描述两个参数的采样点, z是与参数采样点对应的函数值, x1,y1是两个向量或标量,描述欲插值的点。 z1是根据相应的插值方法得到的插值结果。 method的取值与一维插值函数相同。 x,y,z也可以是矩阵形式。 x1,y1的取值范围不能超出x,y的给定范围,否则,会给 出“NaN”错误。
MATLAB数据分析与多项式计算
MATLAB数据分析与多项式计算
一、最大值和最小值
格式3 3. 格式3 U=max(x,y) U=min(x,y) 如果x为标量,则y可为标量、向量或矩阵 如果x为向量或矩阵,则y可为标量或与x同维的向量或 矩阵 x,y是两个同型的向量或矩阵,结果U是与x,y同型的向 量或矩阵,U的每个元素等于x,y对应元素的较大/小者。 如果y是一个标量,结果U是与x同型的向量或矩阵,U 的每个元素等于x对应元素和y中的较大/小者。 例6.3 求两个2×3矩阵x, y所有同一位置上的较大元素 求两个2 矩阵x, y所有同一位置上的较大元素 构成的新矩阵p 构成的新矩阵p。exp6_3.m
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
21
例6.11 用一个3次多项式在区间[0,2π]内逼近函数 sinx。 命令如下: X=linspace(0,2*pi,50); Y=sin(X); P=polyfit(X,Y,3) %得到3次多项式的系数和误差
22
曲线拟合
23
6.1.4 多项式计算 1. 多项式的四则运算 (1)多项式的加减运算 (2)多项式乘法运算 函数conv(P1,P2)用于求多项式P1和P2的乘积。这里,P1、 P2是两个多项式系数向量。
4
(3)两个向量或矩阵对应元素的比较 函数max和min还能对两个同型的向量或矩阵进行比较, 调用格式为: U=max(A,B):A,B是两个同型的向量或矩阵,结果U是与 A,B同型的向量或矩阵,U的每个元素等于A,B对应元素的 较大者。 U=max(A,n):n是一个标量,结果U是与A同型的向量或 矩阵,U的每个元素等于A对应元素和n中的较大者。 min函数的用法和max完全相同。 例 求两个2×3矩阵x, y所有同一位置上的较大元素构成的 新矩阵p。
t f t f 0 3.1025 35 6152.7 5 2.256 40 6725.3 10 879.5 45 6848.3 15 1835.9 50 6403.5 20 2968.8 55 6824.7 25 4136.2 60 7328.5 30 5237.9 65 7857.6
17
2. 二维数据插值 在MATLAB中,提供了解决二维插值问题的函数 interp2,其调用格式为: Z1=interp2(X,Y,Z,X1,Y1,'method') 其中X,Y是两个向量,分别描述两个参数的采样点, Z是与参数采样点对应的函数值,X1,Y1是两个向 量或标量,描述欲插值的点。Z1是根据相应的插 值方法得到的插值结果。 method的取值与一维插 值函数相同。X,Y,Z也可以是矩阵形式。 同样,X1,Y1的取值范围不能超出X,Y的给定范围, 否则,会给出“NaN”错误。
2
[y,I]=max(X):返回向量X的最大值存入y,最大 值的序号存入I,如果X中包含复数元素,则按模 取最大值。 求向量X的最小值的函数是min(X),用法和max(X) 完全相同。 例 求向量x的最大值。 命令如下:
x=[-43,7ห้องสมุดไป่ตู้,9,16,23,47]; y=max(x) %求向量x中的最大值 [y,l]=max(x) %求向量x中的最大值及其该元素的位置
28
(2)矩阵多项式求值 polyvalm函数用来求矩阵多项式的值,其调用格式与polyval 相同,但含义不同。polyvalm函数要求x为方阵,它以方 阵为自变量求多项式的值。设A为方阵,P代表多项式x35x2+8,那么polyvalm(P,A)的含义是: A*A*A-5*A*A+8*eye(size(A)) 而polyval(P,A)的含义是: A.*A.*A-5*A.*A+8*ones(size(A)) 例6.15 仍以多项式x4+8x3-10为例,取一个2×2矩阵为自变 量分别用polyval和polyvalm计算该多项式的值。
26
3. 多项式求值 MATLAB提供了两种求多项式值的函数:polyval与 polyvalm,它们的输入参数均为多项式系数向量P 和自变量x。两者的区别在于前者是代数多项式求 值,而后者是矩阵多项式求值。
27
(1)代数多项式求值 polyval函数用来求代数多项式的值,其调用格式为: Y=polyval(P,x) 若x为一数值,则求多项式在该点的值;若x为向量或矩阵, 则对向量或矩阵中的每个元素求其多项式的值。 例6.14 已知多项式x4+8x3-10,分别取x=1.2和一个2×3矩阵 为自变量计算该多项式的值。
24
(3)多项式除法 函数[Q,r]=deconv(P1,P2)用于对多项式P1和P2作除 法运算。其中Q返回多项式P1除以P2的商式,r返 回P1除以P2的余式。这里,Q和r仍是多项式系数 向量。 deconv是conv的逆函数,即有P1=conv(P2,Q)+r。
25
2. 多项式的导函数 对多项式求导数的函数是: p=polyder(P):求多项式P的导函数 p=polyder(P,Q):求P*Q的导函数 [p,q]=polyder(P,Q):求P/Q的导函数,导函数的分 子存入p,分母存入q。 上述函数中,参数P,Q是多项式的向量表示,结果 p,q也是多项式的向量表示。
第6章 MATLAB数值计算
6.1 数据处理与多项式计算
6.2 数值微积分
6.3 离散傅立叶变换 6.4 线性方程组求解 6.5 非线性方程与最优化问题求解 6.6 常微分方程的数值求解
6.7 稀疏矩阵
1
6.1 数据处理与多项式计算 6.1.1 数据统计与分析 1. 求矩阵最大元素和最小元素 MATLAB提供的求数据序列的最大值和最小值的函数分别 为max和min,两个函数的调用格式和操作过程类似。 (1)求向量的最大值和最小值 y=max(X):返回向量X的最大值存入y,如果X中包含复数 元素,则按模取最大值。
7
A是一个矩阵 prod(A):返回一个行向量,其第i个元素是A的第i列的元素 乘积。 sum(A,dim):当dim为1时,该函数等同于sum(A);当dim为 2时,返回一个列向量,其第i个元素是A的第i行的各元素 之和。 prod(A,dim):当dim为1时,该函数等同于prod(A);当dim 为2时,返回一个列向量,其第i个元素是A的第i行的各元 素乘积。 例6.2 求矩阵A的每行元素的乘积和全部元素的乘积。
9
5.求标准方差 在MATLAB中,提供了计算数据序列的标准方差的函数std。 对于向量X,std(X)返回一个标准方差。对于矩阵A, std(A)返回一个行向量,它的各个元素便是矩阵A各列或 各行的标准方差。std函数的一般调用格式为: Y=std(A,flag,dim) 其中dim取1或2。当dim=1时,求各列元素的标准方差;当 dim=2时,则求各行元素的标准方差。flag取0或1,当 flag=0时,按σ1所列公式计算标准方差,当flag=1时,按 σ2所列公式计算标准方差。缺省flag=0,dim=1。 例6.4 对二维矩阵x,从不同维方向求出其标准方差。
11
例6.5 生成满足正态分布的10000×5随机矩阵,然后求各列 元素的均值和标准方差,再求这5列随机数据的相关系数 矩阵。 命令如下: X=randn(10000,5); M=mean(X) D=std(X) R=corrcoef(X)
12
7. 排序 MATLAB中对向量X是排序函数是sort(X),函数返 回一个对X中的元素按升序排列的新向量。 sort函数也可以对矩阵A的各列或各行重新排序,其 调用格式为: [Y,I]=sort(A,dim) 其中dim指明对A的列还是行进行排序。若dim=1, 则按列排;若dim=2,则按行排。Y是排序后的矩 阵,而I记录Y中的元素在A中位置。
10
6.相关系数 MATLAB提供了corrcoef函数,可以求出数据的相关系数矩 阵。corrcoef函数的调用格式为: corrcoef(X):返回从矩阵X形成的一个相关系数矩阵。此相 关系数矩阵的大小与矩阵X一样。它把矩阵X的每列作为 一个变量,然后求它们的相关系数。 corrcoef(X,Y):在这里,X,Y是向量,它们与corrcoef([X,Y]) 的作用一样。
13
数据统计与分析 1.求矩阵最大元素和最小元素 2.求矩阵的平均值和中值 3. 矩阵元素求和与求积 4.矩阵元素累加和与累乘积 5.求标准方差 6.相关系数 7. 排序
14
15
6.1.2 数据插值 1. 一维数据插值 在MATLAB中,实现这些插值的函数是interp1,其调用格 式为: Y1=interp1(X,Y,X1,'method') 函数根据X,Y的值,计算函数在X1处的值。X,Y是两个等长 的已知向量,分别描述采样点和样本值,X1是一个向量 或标量,描述欲插值的点,Y1是一个与X1等长的插值结 果。method是插值方法,允许的取值有‘linear’、 ‘nearest’、‘cubic’、‘spline’。
18
例6.9 设z=x2+y2,对z函数在[0,1]×[0,2]区域内进行 插值。 例6.10 某实验对一根长10米的钢轨进行热源的温度 传播测试。用x表示测量点0:2.5:10(米),用h表示 测量时间0:30:60(秒),用T表示测试所得各点的温 度(℃)。试用线性插值求出在一分钟内每隔10秒、 钢轨每隔0.5米处的温度。
6
3. 矩阵元素求和与求积 数据序列求和与求积的函数是sum和prod,其使用方法类似。 设X是一个向量,A是一个矩阵,函数的调用格式为: sum(X):返回向量X各元素的和。 prod(X):返回向量X各元素的乘积。 sum(A):返回一个行向量,其第i个元素是A的第i列的元素 和。 X是一个向量
16
注意:X1的取值范围不能超出X的给定范围,否则, 会给出“NaN”错误。
例6.7 给出概率积分的数据表如表6.1所示,用不同的插值 方法计算f(0.472)。
x f(x) 0.46 0.4846555 0.47 0.4937542 0.48 0.5027498 0.49 0.5116683
例6.8 某检测参数f随时间t的采样结果如表5.1,用数据插值 法计算t=2,7,12,17,22,17,32,37,42,47,52, 57时的f值。
5
2. 求矩阵的平均值和中值 求数据序列平均值的函数是mean,求数据序列中值的函数 是median。两个函数的调用格式为: mean(X):返回向量X的算术平均值。 median(X):返回向量X的中值。 mean(A):返回一个行向量,其第i个元素是A的第i列的算术 平均值。 median(A):返回一个行向量,其第i个元素是A的第i列的中 值。 mean(A,dim):当dim为1时,该函数等同于mean(A);当dim 为2时,返回一个列向量,其第i个元素是A的第i行的算术 平均值。 median(A,dim):当dim为1时,该函数等同于median(A);当 dim为2时,返回一个列向量,其第i个元素是A的第i行的 中值。