MATLAB编程与工程应用——第6章 MATLAB数据分析与多项式计算
- 格式:ppt
- 大小:669.50 KB
- 文档页数:20
第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语言程序设计实验题目:Matlab的多项式运算和数据分析一、实验目的1. 掌握Matlab 中多项式函数的使用;2. 掌握利用Matlab 实现数据拟合的方法;3. 掌握Matlab 中的数据分析函数的使用。
二、实验内容和结果1.求多项式函数432)(23++=x x x p 的根,求以得到的根向量为根的多项式;求)(x p 的导函数系数向量1q 和以5为常数项的原函数系数向量2q ;在同一绘图窗口中用plot 绘制)(x p ,)(1x q ,)(2x q 的图像,并加图例。
clcp=[2 3 0 4]; x=0:0.01:2; p1=roots(p); yy=poly2sym(p1) y=polyval(p,x); plot(x,y,'g') hold onq1=polyder(p) y1=polyval(q1,x); plot(x,y1,'b') hold onq2=[2 3 0 5]; y2=polyval(q2,x); plot(x,y2,'r') hold onlegend('p(x)','q1(x)','q2(x)') xlabel('x') ylabel('y')0.20.40.60.81 1.2 1.4 1.6 1.820510152025303540xy2.用电压10=V 伏的电池给电容器充电,电容器上t 时刻的电压为}exp{)()(0τtV V V t v ---=,其中0V 是电容器的初始电压,τ是充电常数。
试由下面一组t ,V 数据确定0V 和τ。
t=[.5 1 2 3 4 5 7 9];v=[6.36 6.48 7.26 8.22 8.66 8.99 9.43 9.63]; u1=10-v; u3=log(u1); u4=exp(u3); plot(t,u3,'*r'); hold onq=polyfit(t,u3,1) y=polyval(q,t); plot(t,y); tt=1/-.2835 v0=10-exp(1.4766)v0 =5.6220τ=-3.52730V =5.6220 拟合图0123456789-1.5-1-0.50.511.53.利用多项式函数和eig 求3阶Pascal 矩阵的特征值,并比较二者的结果。
在MATLAB中进行多项式运算,可以采用以下方法:1. 表示多项式:在MATLAB中,多项式可以用一个向量表示,向量的元素是多项式的系数,按照降幂排列。
例如,2次多项式2x^2 + 1可以表示为[2 0 1]。
2. 多项式乘法:使用`conv`函数可以进行多项式乘法。
例如,假设有两个多项式p1=[2 0 1]和p2=[3 1],则可以使用以下命令计算它们的乘积:```matlabp = conv(p1, p2);```这会返回一个新的向量,它是p1和p2的卷积。
3. 多项式除法:使用`deconv`函数可以进行多项式除法,它返回商式和余式。
例如,假设有两个多项式p1=[2 0 1]和p2=[3 1],则可以使用以下命令计算它们的商式和余式:```matlab[q, r] = deconv(p1, p2);```其中,q是商式,r是余式。
4. 求多项式的根:使用`roots`函数可以求多项式的根。
例如,对于多项式p=[2 0 1],可以使用以下命令求根:```matlabr = roots(p);```这会返回一个向量,其中包含了多项式的所有根。
5. 求多项式的值:使用`polyval`函数可以求多项式在给定点的值。
例如,对于多项式p=[2 0 1]和点x=1,可以使用以下命令计算多项式的值:```matlabv = polyval(p, 1);```这会返回一个标量值v,它是多项式在x=1处的值。
如果x是一个向量或矩阵,则`polyval`函数会对矩阵或向量中的每一个值求多项式的值。
6. 矩阵多项式求值:使用`polyvalm`函数可以像`polyval`一样求矩阵的值,但要求x为方阵。
例如,对于多项式p=[2 0 1]和方阵x,可以使用以下命令计算多项式在矩阵x中的值:```matlabv = polyvalm(p, x);```这会返回一个矩阵,其中包含了多项式在矩阵x中每一个位置的值。
第6章MATLAB数据分析与多项式计算MATLAB是一种面向科学和工程计算的计算机语言和环境。
它具有强大的数据分析和多项式计算功能,可以用于数据处理、统计分析、曲线拟合、插值计算、解方程等多种应用。
数据分析是从数据中提取有用信息的过程,其中使用MATLAB可以轻松地进行各种数据操作和分析。
MATLAB提供了各种统计分析函数,可以计算数据的统计特征,如均值、方差、标准差、相关系数等。
同时,它还提供了数据绘图功能,可以将数据以直方图、散点图、折线图等形式展示出来,帮助用户更好地理解数据。
多项式计算是利用多项式进行数值计算的过程。
在MATLAB中,可以使用多种方法进行多项式计算,如多项式加减乘除、多项式求值、多项式插值等。
MATLAB提供了丰富的多项式操作函数,可以方便地进行多项式运算和计算。
在数据分析中,多项式计算经常用于曲线拟合和插值计算。
曲线拟合是根据给定的数据点,找出一个与之最接近的曲线。
MATLAB提供了polyfit函数,可以根据给定的数据点和多项式阶数,自动拟合出最优的多项式曲线。
此外,MATLAB还提供了curvefit函数,可以进行更加复杂的曲线拟合,如指数曲线拟合、对数曲线拟合等。
插值计算是根据已知的数据点,通过插值方法找出在这些数据点之间的未知点的近似值。
MATLAB提供了interp1函数,可以根据给定的数据点和插值方法,自动进行插值计算。
此外,MATLAB还提供了interp2函数,可以进行二维插值计算。
除了数据分析和多项式计算功能,MATLAB还具有其他强大的数值计算功能,如数值积分、数值微分、解线性方程组等。
这些功能使得MATLAB成为科学与工程领域中常用的计算工具。
在使用MATLAB进行数据分析和多项式计算时,需要注意数据的有效性和合理性。
数据分析的结果只能作为参考,不能作为绝对的判断依据。
多项式计算的结果也可能存在误差,需要进行适当的精度控制。
总之,MATLAB是一款功能强大的数据分析和多项式计算工具,可以帮助科学家和工程师快速、准确地进行各种数值计算和分析任务。
MATLAB程序设计教程(6)——MATLAB数据分析与多项式计算2020-3-3 16:45:00第6章 MATLAB数据分析与多项式计算数据统计处置数据插值曲线拟合离散傅立叶变换多项式计算数据统计处置6.1.1 最大值和最小值MATLAB提供的求数据序列的最大值和最小值的函数别离为max和min,两个函数的挪用格式和操作进程类似。
1.求向量的最大值和最小值求一个向量X的最大值的函数有两种挪用格式,别离是:(1) y=max(X):返回向量X的最大值存入y,若是X中包括复数元素,那么按模取最大值。
(2) [y,I]=max(X):返回向量X的最大值存入y,最大值的序号存入I,若是X中包括复数元素,那么按模取最大值。
求向量X的最小值的函数是min(X),用法和max(X)完全相同。
例6-1 求向量x的最大值。
命令如下:x=[-43,72,9,16,23,47];y=max(x) %求向量x中的最大值[y,l]=max(x) %求向量x中的最大值及其该元素的位置2.求矩阵的最大值和最小值求矩阵A的最大值的函数有3种挪用格式,别离是:(1) max(A):返回一个行向量,向量的第i个元素是矩阵A的第i列上的最大值。
(2) [Y,U]=max(A):返回行向量Y和U,Y向量记录A的每列的最大值,U向量记录每列最大值的行号。
(3) max(A,[],dim):dim取1或2。
dim取1时,该函数和max(A)完全相同;dim取2时,该函数返回一个列向量,其第i个元素是A矩阵的第i行上的最大值。
求最小值的函数是min,其用法和max完全相同。
例6-2 别离求3×4矩阵x中各列和各行元素中的最大值,并求整个矩阵的最大值和最小值。
3.两个向量或矩阵对应元素的比较函数max和min还能对两个同型的向量或矩阵进行比较,挪用格式为:(1) U=max(A,B):A,B是两个同型的向量或矩阵,结果U是与A,B同型的向量或矩阵,U的每一个元素等于A,B对应元素的较大者。
第6章MATLAB数据分析与多项式计算习题6一、选择题1.设A=[1,2,3,4,5;3,4,5,6,7],则min(max(A))的值是()。
BA.1B.3C.5D.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.5B.8C.24D.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.1B.-2C.1.4142D.-1.41426.关于数据插值与曲线拟合,下列说法不正确的是()。
AA.3次样条方法的插值结果肯定比线性插值方法精度高。
B.插值函数是必须满足原始数据点坐标,而拟合函数则是整体最接近原始数据点,而不一定要必须经过原始数据点。
C.曲线拟合常常采用最小二乘原理,即要求拟合函数与原始数据的均方误差达到极小。
D.插值和拟合都是通过已知数据集来求取未知点的函数值。
二、填空题1.设A=[1,2,3;102030;456],则sum(A)=,median(A)=。
[152739],[456[2.向量[2,0,-1]所代表的多项式是。
2x 2-123.为了求a x +b x +c =0的根,相应的命令是(假定a 、b 、c 值)。
为了 将求得的根代回方程进行验证,相应的命令是。
x=roots([a,b,c]),polyval([a,b,c],x)4.如果被插值函数是一个单变量函插值,相应的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章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已经赋值)。