第六章_matlab数据分析与多项式计算
915219-MATLAB程序设计与应用-第6章 MATLAB数据分析与多项式计算__源程序
第6章MATLAB数据分析与多项式计算例6-1 求矩阵A每行及每列的最大值,并求整个矩阵的最大值。
>> A=[13,-56,78;25,63,-235;78,25,563;1,0,-1];>> max(A,[],2) %求每行最大值>> max(A) %求每列最大值>> max(max(A)) %求整个矩阵的最大值,也可使用max(A(:))例6-2求矩阵A的每行元素之和和全部元素之和。
>> A=[1,2,3,4;5,6,7,8;9,10,11,12];>> S=sum(A,2)>> sum(S)例6-3 求s=1!+2!+…+6!的值。
>> x=cumprod(1:6)>> s=sum(x)例6-4对二维矩阵x,从不同维方向求出其标准差和方差。
>> x=[4,5,6;1,4,8];>> y1=std(x,0,1) %求标准差>> v1=var(x,0,1) %求方差>> y2=std(x,1,1)>> v2=var(x,1,1)>> y3=std(x,0,2)>> v3=var(x,0,2)>> y4=std(x,1,2)>> v4=var(x,1,2)例6-5生成满足正态分布的10000×5随机矩阵,然后求各列元素的均值和标准差,再求这5列随机数据的相关系数矩阵。
>> X=randn(10000,5);>> M=mean(X)>> D=std(X)>> R=corrcoef(X)>> R=corrcoef(X(:,1),X(:,2))%X前两列的相关系数例6-6 对下列矩阵做各种排序。
>> A=[1,-8,5;4,12,6;13,7,-13];>> sort(A) %对A的每列按升序排序>> sort(A,2,'descend') %对A的每行按降序排序>> [X,I]=sort(A) %对A按列排序,并将每个元素所在行号送矩阵I例6-7 求多项式x4+8x3-10与多项式2x2-x+3的乘积。
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
第6章MATLAB数值计算61 数据处理与多项式计算62 数值微积分63-PPT精品文档
(2)求矩阵的最大值和最小值 求矩阵A的最大值的函数有3种调用格式,分 别是: max(A):返回一个行向量,向量的第i个元 素是矩阵A的第i列上的最大值。 [Y,U]=max(A):返回行向量Y和U,Y向量 记录A的每列的最大值,U向量记录每列最 大值的行号。
max(A,[],dim):dim取1或2。dim取1时, 该函数和max(A)完全相同;dim取2时,该 函数返回一个列向量,其第i个元素是A矩 阵的第i行上的最大值。 求最小值的函数是min,其用法和max完全 相同。 例6.1 分别矩阵A中各列和各行元素中的最大 值,并的比较 函数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。
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,从不同维方向求出其标准方差。
第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 分别是多项式的向量表示形式。
第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已经赋值)。
MATLAB数据分析与多项式计算_习题答案
第6章 MATLAB数据分析与多项式计算习题6一、选择题1.设A=[1,2,3,4,5;3,4,5,6,7],则min(max(A))的值是()。
B A.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. D.6.关于数据插值与曲线拟合,下列说法不正确的是()。
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.如果被插值函数是一个单变量函数,则称为插值,相应的MATLAB函数是。
MATLAB语言:数据分析与多项式计算习题与答案
一、单选题1、若A为矩阵,则语句max(A(:))的功能是()。
A.函数调用错误B.求矩阵每行的最大元素C.求矩阵每列的最大元素D.求整个矩阵的最大元素正确答案:D2、设P是多项式系数向量,A为方阵,则函数polyval(P,A)与函数polyvalm(P,A)的值()。
A. 一个是标量,一个是方阵B.都是标量C.值不相等D.值相等正确答案:C3、在MATLAB命令行窗口输入下列命令:>> p=[1,-2];>> x=roots(p)则x的值为()。
A.2B. -2C.1D.-1正确答案:A4、在以下四种数据插值方法中,具有保形性的方法是()。
A.linearB.nearestC.pchipD.spline正确答案:C5、最小二乘法中的误差最小指的是()。
A.误差的平均值最小B.误差之和最小C.误差的平方和最小D.误差的积最小正确答案:C6、当实验或测试所获得的样本数据有误差时,适合用来估算数据的方法是()。
A.数据插值B.曲线拟合C.方程求解D.求平均值正确答案:B7、曲线拟合通常所采用的函数是()。
A.随机函数B.多项式函数C.指数函数D.三角函数正确答案:B二、多选题1、下列四种插值计算方法中,经过每一个样本点的方法是()。
A.linearB.nearestC.pchipD.spline正确答案:A、B、C、D2、以下属于曲线拟合方法功能的是()。
A.估算数据B.预测趋势C.总结规律D.证明定理正确答案:A、B、C3、若a、b为多项式系数向量,a=[1,2],b=[3,4,5],要将两个多项式相加,以下不正确的是()。
A.a+bB.[0,a]+bC.[a,0]+bD.a+b(1:2)正确答案:A、C、D4、设有三个多项式,其系数向量分别为q、r、s,现在求它们的乘积,可以使用的命令有()。
A.conv(q,r,s)B.conv(conv(q,r),s)C.conv(q,conv(r,s))D.conv(conv(s,r),q)正确答案:B、C、D三、判断题1、数据插值可以通过已知数据估算采样区间内的未知数据。
第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数据分析与多项式计算
18.04.2021
24
6.5 多项式计算
6.5.1 多项式的四则运算
1. 多项式的加减运算
对于次数相同的若干个多项式,可直接对 多项式系数向量进行加、减的运算。如果多 项式的次数不同,则应该把低次的多项式系 数不足的高次项用零补足,使同式中的各多 项式具有相同的次数。
2. 多式乘法运算
函数conv(P1,P2)用于求多项式P1和P2的乘 积。这里,P1、P2是两个多项式系数向量。
mean(A,dim):当dim为1时,该函数等同于mean(A); 当dim为2时,返回一个列向量,其第i个元素是A的 第i行的算术平均值。
median(A,dim):当dim为1时,该函数等同于 median(A);当dim为2时,返回一个列向量,其第i 个元素是A的第i行的中值。
例6-5 求矩阵A平均值和中值。
例6-14求如下给定数据的拟合曲线, x=[0.5,1.0,1.5,2.0,2.5,3.0],
y=[1.75,2.45,3.81,4.80,7.00,8.60]。
18.04.2021
20
6.4 离散傅立叶变换
6.4.1 离散傅立叶变换
一维离散傅立叶变换函数,其调用格式与功 能为:
(1) fft(X):返回向量X的离散傅立叶变换。 设X的长度(即元素个数)为N,若N为2的幂 次,则为以2为基数的快速傅立叶变换,否 则为运算速度很慢的非2幂次的算法。对于 矩阵X,fft(X)应用于矩阵的每一列。
例6-11 某观测站测得某日6:00时至18:00时之 间每隔2小时的室内外温度(℃),用3次样条 插值分别求得该日室内外6:30至17:30时之 间每隔2小时各点的近似温度(℃)。
18.04.2021
第六章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行的累加和向量。
Matlab教程Ch6 (多项式及其运算)
25
2018/10/10
1. if语句 if语句的三种基本语法结构 if(关系运算表达式)
选择结构
MATLAB语句 end if(关系运算表达式) MATLAB语句A else MATLAB语句B end if(关系运算表达式a) MATLAB语句A elseif (关系运算表达式b) MATLAB语句B else (关系运算表达式c) … 2018/10/10 26 end
【例】用一个5次多项式在区间[0,2π]内逼近函数sin(x)
X=linspace(0,2*pi,50);Y=sin(X); [P,S]=polyfit(X,Y,5) %得到5次多项式的系数和误差 plot(X,Y,‘r*',X,polyval(P,X))
10
11
例.现有一组实验数据:x的取值是从1到2之间的数,间隔 为0.1,y的取值为2.1, 3.2, 2.1, 2.5, 3.2, 3.5, 3.4,4.1,4.7,5.0,4.8. 要求分别用二次、三次和七次拟合曲线来拟合这组数据, 观察这三组拟合曲线哪个效果更好?
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6.1.2 求和与求积
数据序列求和与求积的函数是sum和prod, 其使用方法类似。设X是一个向量,A是一个 矩阵,函数的调用格式为: sum(X):返回向量X各元素的和。 prod(X):返回向量X各元素的乘积。 sum(A):返回一个行向量,其第i个元素是A 的第i列的元素和。
例6-14求如下给定数据的拟合曲线,
x=[0.5,1.0,1.5,2.0,2.5,3.0], y=[1.75,2.45,3.81,4.80,7.00,8.60]。
2012-10-17 26
6.5 多项式计算
2012-10-17
27
6.5.1 多项式的四则运算
2012-10-17
6
3. 两个向量或矩阵对应元素的比较 函数max和min还能对两个同型的向量或矩 阵进行比较,调用格式为: (1)U=max(A,B):A,B是两个同型的向量或矩 阵,结果U是与A,B同型的向量或矩阵,U 的每个元素等于A,B对应元素的较大者。 (2)U=max(A,n):n是一个标量,结果U是与A 同型的向量或矩阵,U的每个元素等于A对应 元素和n中的较大者。 min函数的用法和max完全相同。 例6-3 求两个2×3矩阵x, y所有同一位置上的 较大元素构成的新矩阵p。
2012-10-17 9
6.1.3 平均值和中值
求数据序列平均值的函数是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行的中值。 例6-5 求矩阵A平均值和中值。 10 2012-10-17
6.1.5 标准方差与相关系数
1. 求标准方差 在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。
2012-10-17 14
6.2 数据插值
6.2.1 一维数据插值 y1=interp1(x,y,x1)返回在插值向量xi处的函数 向量y1,它是根据向量x和y插值而来。若y是 矩阵,则对y每一列进行插值,如xi中元素不 在x内,返回NaN。 y1=interp1(y,x1)省略x,表示x=1:N,此时N为 向量y的长度或为矩阵y的行数。 y1=interp1(x,y,x1,’method’)表示用method指定 的插值方法进行插值。
2012-10-17 13
6.1.6 排序 MATLAB中对向量X排序函数是sort(X), 函数返回一个对X中的元素按升序排列的新 向量。 sort函数也可以对矩阵A的各列或各行重新 排序,其调用格式为: [Y,I]=sort(A,dim) 其中dim指明对A的列还是行进行排序。若 dim=1,则按列排;若dim=2,则按行排。 Y是排序后的矩阵,而I记录Y中的元素在A 中位置。 例6-9 对二维矩阵做各种排序。
25
在MATLAB中,用polyfit函数来求得最小二 乘拟合多项式的系数,再用polyval函数按所得的 多项式计算所给出的点上的函数近似值。 polyfit函数的调用格式为: [P,S]=polyfit(X,Y,m) 函数根据采样点X和采样点函数值Y,产生一 个m次多项式P及其在采样点的误差向量S。其中 X,Y是两个等长的向量,P是一个长度为m+1的向 量,P的元素为多项式系数。
2012-10-17 23
6.2.2 二维数据插值
z1=interp2(ห้องสมุดไป่ตู้,y,z,x1,y1)返回在插值向量x1、 y1处的函数值向量,它是根据向量x、y与z 插值而来,如果x1、y1有元素不在x、y范围 内,则返回NaN。 z1=interp2(z,x1,y1)省略x、y,表示x=1:N, y=1:M, [M,N] = size(z).。 zi=interp2(x,y,z,xi,yi,’method’)表示用 method指定的插值方法进行插值。Method 取值同上,要求x与y都单调且具有相同格 式。
2012-10-17 15
Method可取如下的值: ‘linear’线性插值 ‘nearest’最近插值 ‘spline’三次样条插值 ‘cubic’三次插值 Method默认值为线性插值,上述插值要求 向量x单调。
2012-10-17
16
例:
>> x=[1 2 4 6 8 9 10 13 15 16]; >> y=[5 7 8 10 13 14 15 17 19 20]; >> x1=[1.2 2.1 3]; >> y1=interp1(x,y,x1) y1 = 5.4000 7.0500 7.5000
2012-10-17 21
>> x=[1 2 4 6 8 9 10 13 15 16]; >> y=[5 7 8 10 13 14 15 17 19 20]; >> x1=[1.2 2.1 3]; >> y1=interp1(x,y,x1,'cubic')
y1 = 5.5006 7.0814 7.5476
第六章 MATLAB数据分析与 多项式计算
2012-10-17
1
数据统计处理 数据插值 曲线拟和 离散傅立叶变换 多项式计算
2012-10-17
2
6.1 数据统计处理
6.1.1 最大值和最小值 MATLAB提供的求数据序列的最大值和最 小值的函数分别为max和min,两个函数的 调用格式和操作过程类似。 1. 求向量的最大值和最小值 求一个向量X的最大值的函数有两种调用 格式,分别是: (1) y=max(X):返回向量X的最大值存入y, 如果X中包含复数元素,则按模取最大值。
2012-10-17 5
(3) max(A,[ ],dim):dim取1或2。dim取1时, 该函数和max(A)完全相同;dim取2时,该 函数返回一个列向量,其第i个元素是A矩阵 的第i行上的最大值。 求最小值的函数是min,其用法和max完全 相同。 例6-2 分别求3×4矩阵x中各列和各行元素中 的最大值,并求整个矩阵的最大值.
2012-10-17 22
例6-10 用不同的插值方法计算。 MATLAB中有一个专门的3次样条插值函数 y1=spline(x,y,x1),其功能及使用方法与函数 y1=interp1(x,y,x1,‘spline’)完全相同。 例6-11 某观测站测得某日6:00时至18:00时之 间每隔2小时的室内外温度(℃),用3次样条 插值分别求得该日室内外6:30至17:30时之 间每隔2小时各点的近似温度(℃)。
24
2012-10-17
6.3 曲线拟合
曲线拟合涉及到两个基本问题:什么是 最佳拟合?用什么样的曲线进行拟合。可以 用许多方法定义最佳拟合,而且存在无穷数 目的曲线。 当最佳拟合定义为数据最小误差平方和, 所用的曲线限定为多项式时,拟合曲线就相 对简单。 数学上称为多项式的最小二乘曲线拟合。
2012-10-17
6.1.4 累加和与累乘积(examp6_6.m)
在MATLAB中,使用cumsum和cumprod函数能方 便地求得向量和矩阵元素的累加和与累乘积向量, 函数的调用格式为: cumsum(X):返回向量X累加和向量。 cumprod(X):返回向量X累乘积向量。 cumsum(A):返回一个矩阵,其第i列是A的第i列的 累加和向量。 cumprod(A):返回一个矩阵,其第i列是A的第i列 的累乘积向量。 cumsum(A,dim):当dim为1时,该函数等同于 cumsum(A);当dim为2时,返回一个矩阵,其第i 行是A的第i行的累加和向量。 cumprod(A,dim):当dim为1时,该函数等同于 cumprod(A);当dim为2时,返回一个向量,其第i 行是A的第i行的累乘积向量。 11 2012-10-17
5.5529 7.1110 7.6747
2012-10-17
20
>> x=[1 2 4 6 8 9 10 13 15 16]; >> y=[5 7 8 10 13 14 15 17 19 20]; >> x1=[1.2 2.1 3]; >> y1=spline(x,y,x1) y1 = 5.5529 7.1110 7.6747
2012-10-17
17
>> x=[1 2 4 6 8 9 10 13 15 16]; >> y=[5 7 8 10 13 14 15 17 19 20]; >> x1=[1.2 2.1 3]; >> y1=interp1(x,y,x1,'linear') y1 =
5.4000 7.0500
2012-10-17
7.5000
18
>> x=[1 2 4 6 8 9 10 13 15 16]; >> y=[5 7 8 10 13 14 15 17 19 20]; >> x1=[1.2 2.1 3]; >> y1=interp1(x,y,x1,'nearest') y1 =