Matlab第5章数据处理与多项式计算
- 格式:pdf
- 大小:1.11 MB
- 文档页数:62
第5章习题与答案5.1用矩阵三角分解方法解方程组123123123214453186920x x x x x x x x x +-=⎧⎪-+=⎨⎪+-=⎩ 解答:>>A=[2 1 -1;4 -1 3;6 9 -1] A =2 1 -1 4 -13 6 9 -1 >>b=[14 18 20]; b =14 18 20 >> [L, U, P]=lu(A) L =1.0000 0 0 0.6667 1.0000 0 0.3333 0.2857 1.0000 U =6.0000 9.0000 -1.0000 0 -7.0000 3.6667 0 0 -1.7143 P =0 0 1 0 1 0 1 0 0 >> y=backsub(L,P*b’) y =20.0000 4.6667 6.0000 >> x=backsub(U,y) x =6.5000 -2.5000 -3.5000 5.2 Cholesky 分解方法解方程组123121332352233127x x x x x x x ++=⎧⎪+=⎨⎪+=⎩ 解答:>> A=[3 2 3;2 2 0;3 0 12] A =3 2 32 2 03 0 12>> b=[5;3;7]b =537>> L=chol(A)L =1.7321 1.1547 1.73210 0.8165 -2.44950 0 1.7321>> y=backsub(L,b)y =-11.6871 15.7986 4.0415>> x=backsub(L',y)x =-6.7475 28.8917 49.93995.3解答:观察数据点图形>> x=0:0.5:2.5x =0 0.5000 1.0000 1.5000 2.0000 2.5000 >> y=[2.0 1.1 0.9 0.6 0.4 0.3]y =2.0000 1.1000 0.9000 0.6000 0.4000 0.3000 >> plot(x,y)图5.1 离散点分布示意图从图5.1观察数据点分布,用二次曲线拟合。
MATLAB是一种常用的数学软件,它在科学计算领域有着广泛的应用。
在MATLAB中,多项式和特征方程是两个非常重要的概念。
本文将首先介绍多项式的相关知识,然后深入探讨多项式在MATLAB中的应用。
接着会详细介绍特征方程及其在MATLAB中的应用。
希望本文对读者能有所帮助。
一、多项式1. 多项式的定义多项式是代数学中的基本概念之一。
它是由若干个数与字母的乘积相加而成的代数式。
一般地,多项式的形式可以表示为:P(x) = a0 + a1x + a2x^2 + ... + anx^n其中,P(x)为多项式,x为自变量,a0, a1, ..., an为系数,n为多项式的次数。
2. MATLAB中的多项式表示在MATLAB中,可以使用polyval函数来计算多项式的值,使用polyfit函数来拟合数据得到多项式方程。
给定一组数据点(x, y),可以使用polyfit函数拟合出最佳拟合多项式,并使用polyval函数计算出对应x值时的多项式函数值。
3. MATLAB中的多项式运算MATLAB提供了丰富的多项式运算函数,例如polyadd、polymul、polyder、polyint等。
通过这些函数,可以方便地进行多项式的加法、乘法、求导、积分等运算。
二、特征方程1. 特征方程的定义特征方程是矩阵论中的一个重要概念。
对于一个n阶方阵A,其特征方程可以表示为:det(A - λI) = 0其中,det表示矩阵的行列式,λ是特征值,I为单位矩阵。
特征方程的解即为矩阵A的特征值。
2. MATLAB中的特征方程求解在MATLAB中,可以使用eig函数来求解特征方程。
eig函数可以计算出矩阵的所有特征值和对应的特征向量。
这对于解决线性代数中的特征值和特征向量相关问题非常有用。
3. 特征方程的应用特征方程在科学计算领域有着广泛的应用,例如在控制系统、信号处理、结构力学等方面都有重要作用。
通过求解特征方程,可以分析和预测系统的稳定性、自由振动特性等。
Matlab中的数据处理Matlab中的各种工具箱最主要是以矩阵或数组作为处理对象,因此首先必须将原始数据以矩阵形式加载到Matlab的工作空间,然后对矩阵进行相关操作。
第一部分数据输入在Matlab中创建一个矩阵可以有如下几种途径:一、在Matlab命令窗口直接输入矩阵例如:>> A=[1 3 0;2 4 3;-3 4 9]说明:矩阵或数组的标识符都是[ ],矩阵同一行之间的元素用空格或逗号分隔,不同行之间用分号或回车符分隔。
二、利用workspace(工作空间)创建或修改矩阵在工作空间中新建一个空矩阵,然后双击该矩阵名,可以像Office 中的Excel电子表格一样进行输入和编辑数据,也可以双击已经存在于工作空间中的变量名,对其进行修改编辑。
例如:>> B=[];三、采用复制、粘贴的方式构造矩阵对于存在于外部文件中的比较规范的数据(排列成矩阵形式),可以先将数据块复制到剪贴板上,然后在Matlab中粘贴到相应变量。
举例:1、将data01.xls中的数据粘贴到Matlab工作空间中的变量C 中。
2、将data02.txt中的数据输入到Matlab工作空间中的变量D中。
四、使用输入函数对于大量的数据,或者格式更加复杂的数据文件,以上方法就不太方便,此时针对不同格式的数据文件,可以采用相应的输入函数导入数据。
1、load函数装载Matlab格式的数据文件(.mat)和文本格式的定界符为空格的矩形文件。
例:载入文件“data02.txt”中的数据2、dlmread函数将带有定界字符的ASCII数字数据读入矩阵常用格式:M=dlmread(‘filename’) %Matlab 从文件格式中推断定界符,逗号是默认定界符。
M=dlmread(‘filename’,delimiter),指定定界符。
M=dlmread(‘filename’,delimiter,R,C),从矩形数据的左上角R行、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已经赋值)。
实验六 高层绘图操作%第一题:程序代码如下:x=linspace(0,2*pi,101);y=(0.5+3*sin(x)./(1+x.^2)).*cos(x); plot(x,y)01234567-1-0.50.511.5%第二题: %(1)程序代码如下:x=linspace(-2*pi,2*pi,100); y1=x.^2;y2=cos(2*x); y3=y1.*y2;plot(x,y1,'b-',x,y2,'r:',x,y3,'y--'); text(4,16,'\leftarrow y1=x^2');text(6*pi/4,-1,'\downarrow y2=cos(2*x)');text(-1.5*pi,-2.25*pi*pi,'\uparrow y3=y1*y2');-8-6-4-22468-30-20-1010203040%(2)程序代码如下:x=linspace(-2*pi,2*pi,100); y1=x.^2;y2=cos(2*x); y3=y1.*y2;subplot(1,3,1);%分区 plot(x,y1);title('y1=x^2');%设置标题 subplot(1,3,2); plot(x,y2);title('y2=cos(2*x)'); subplot(1,3,3); plot(x,y3);title('y3=x^2*cos(2*x)');-10100510152025303540y1=x 2-1010-1-0.8-0.6-0.4-0.200.20.40.60.81y2=cos(2*x)-1010-30-20-1010203040y3=x 2*cos(2*x)%(3)程序代码如下:x=linspace(-2*pi,2*pi,20); y1=x.^2;subplot(2,2,1);%分区 bar(x,y1);title('y1=x^2的条形图');%设置标题 subplot(2,2,2); stairs(x,y1);title('y1=x^2的阶梯图'); subplot(2,2,3); stem(x,y1);title('y1=x^2的杆图'); subplot(2,2,4);fill(x,y1,'r');%如果少了'r'则会出错 title('y1=x^2的填充图'); %其他的函数照样做。
matlab多项式10.1 根找出多项式的根,即多项式为零的值,可能是许多学科共同的问题,。
MA TLAB求解这个问题,并提供其它的多项式操作工具。
在MA TLAB里,多项式由一个行向量表示,它的系数是按降序排列。
例如,输入多项式x4-12x3+0x2+25x+116» p=[1-12025116]p =1-12025116注意,必须包括具有零系数的项。
除非特别地辨认,MA TLAB无法知道哪一项为零。
给出这种形式,用函数roots找出一个多项式的根。
» r=roots(p)r =11.74732.7028-1.2251 + 1.4672i-1.2251 - 1.4672i因为在MA TLAB中,无论是一个多项式,还是它的根,都是向量,MA TLAB按惯例规定,多项式是行向量,根是列向量。
给出一» pp=poly(r)pp =1.0e+002 *Columns 1 through 40.0100-0.12000.00000.2500Column 51.1600 + 0.0000i» pp=real(pp) %throw away spurious imaginary partpp =1.0000-12.00000.000025.0000116.0000因为MA TLAB无隙地处理复数,当用根重组多项式时,如果一些根有虚部,由于截断误差,则poly的结果有一些小的虚部,这是很普通的。
消除虚假的虚部,如上所示,只要使用函数real抽取实部。
10.2 乘法函数conv支持多项式乘法(执行两个数组的卷积)。
考虑两个多项式a(x)=x3+2x2+3x+4和b(x)= x3+4x2+9x+16的乘积:» a=[1234] ;b=[14916];» c=conv(a , b)c =162050758464结果是c(x)=x6+6x5+20x4+50x3+75x2+84x+64。
文章主题:如何使用MATLAB求解多项式展开系数在数学和工程领域中,多项式展开是一个经常出现的问题,它们在数据逼近、信号处理、微积分、代数等各个领域都有着广泛的应用。
而在使用MATLAB进行多项式展开系数的求解时,可以借助其强大的数值计算和符号计算功能,从而方便快捷地完成复杂的计算工作。
下面,我们将从简单到复杂地讨论如何使用MATLAB求解多项式展开系数。
1. 简单情况下的多项式展开系数求解在MATLAB中,可以使用polyfit函数来求解简单情况下的多项式展开系数。
对于一组已知的数据点(x,y),我们可以使用polyfit函数来拟合这些数据点,从而得到多项式展开系数。
具体函数调用如下:```matlabp = polyfit(x,y,n);```其中,x和y分别为已知的数据点,n为所需要拟合的多项式的阶数。
通过调用polyfit函数,即可得到多项式展开系数p。
2. 复杂情况下的多项式展开系数求解在实际应用中,经常会遇到复杂情况下的多项式展开系数求解问题,比如变量的多重指数、高次多项式的展开等。
针对这些情况,MATLAB提供了符号计算工具箱,可以使用符号变量来表示和处理这些复杂的数学表达式。
对于一个复杂的多项式展开问题,我们可以使用符号计算工具箱中的函数进行求解。
具体步骤如下:- 定义符号变量:```matlabsyms x```- 构建复杂的多项式表达式:```matlabf = x^2 + 3*x + 1;```- 求解多项式展开系数:```matlabc = coeffs(f,x);```通过上述步骤,即可得到复杂多项式的展开系数c。
3. 总结与回顾在本文中,我们从简单到复杂地讨论了如何使用MATLAB求解多项式展开系数。
在简单情况下,可以使用polyfit函数进行求解;在复杂情况下,可以借助符号计算工具箱进行求解。
通过MATLAB强大的数值计算和符号计算功能,我们能够方便快捷地完成多项式展开系数的求解工作。