-
2020-04-19 22:01:37
0 前言
欢迎大家点赞👍,收藏⭐,转发🚀,
如有问题、建议欢迎在评论区留言💬。本文是科学计算与MATLAB语言课程的第5章第2小结的学习笔记,通过查阅本文,可以轻松掌握利用MATLAB进行多项式的四则运算(加减乘除)、求导、求值、求根等, E n j o y y o u r r e a d i n g ! Enjoy\ your\ reading! Enjoy your reading!
1 多项式的表示
在MATLAB中,n次多项式用一个长度为n+1的行向量表示。如有n次多项式:
p ( x ) = a n x n + a n − 1 x n − 1 + a n − 2 x n − 2 + … + a 1 x + a 0 p(x)=a_nx^n+a_{n-1}x^{n-1}+a_{n-2}x^{n-2}+…+a_1x+a_0 p(x)=anxn+an−1xn−1+an−2xn−2+…+a1x+a0
则在MATLAB中, p ( x ) p(x) p(x)表示为向量形式:
[ a , a n − 1 , a n − 2 , a 1 , a n ] [a,a_{n-1},a_{n-2},a_1,a_n] [a,an−1,an−2,a1,an]
在MATLAB中创建多项式向量时,要注意三点:
(1)多项式系数向量的顺序是从高到低。
(2)多项式系数向量包含0次项系数,所以其长度为多项式最高次数加1。
(3)如果有的项没有,系数向量相应位置应用0补足。2 多项式的四则运算
(1)多项式的加减运算
多项式的加减运算非常简单,即相应向量相加减。
(2)多项式乘法
conv(P1,P2):多项式相乘,其中,P1、P2是两个多项式系数向量。
(3)多项式除法
[Q,r]=deconv(P1,P2):多项式相除,其中Q返回多项式P1除以P2的商式,r返回P1除以P2的余式。这里,Q和r仍是多项式系数向量。deconv是conv的逆函数,因此有下式成立。
P1=conv(Q,P2)+r
例1 设f和g为两个多项式 { f x = 3 x 4 − 5 x 3 − 7 x 2 + 5 x + 6 g x = 3 x 2 + 5 x − 3 \left\{ \begin{aligned} f_x&=3x^4-5x^3-7x^2+5x+6\\ g_x&=3x^2+5x-3 \end{aligned} \right. {fxgx=3x4−5x3−7x2+5x+6=3x2+5x−3,
求f(x)+g(x),f(x)-g(x),f(x)×g(x),f(x)/g(x)。f=[3,-5,0,-7,5,6]; g=[3,5,-3]; g1=[0,0,0,g]; f+g1 f-g1 conv(f,g) [Q,r]=deconv(f,g) conv(g,Q)+r
3 多项式的求导
在MATLAB中,多项式求导函数为polyder(),其调用格式为:
(1)p=polyder(P):求多项式P的导函数。
(2)p=polyder(P,Q):求P×Q的导函数。
(3)[p,q]=polyder(P,Q):求P/Q的导函数,导函数的分子存入p,分母存入q。
例2 已知两个多项式 a ( x ) = 3 x 3 + x 2 − 6 , b ( x ) = x + 2 a(x)=3x^3+x^2-6,b(x)=x+2 a(x)=3x3+x2−6,b(x)=x+2,计算两个多项式的乘积的导函数、商的导函数。a=[3 1 0 -6]; b=[1 2]; c=polyder(a,b) [p,q]=polyder(a,b)
4 多项式的求值
polyval(p,x):
代数多项式求值,其中,p为多项式系数向量,x可以是标量、向量或矩阵。若x为标量,则求多项式在该点的值;若x为向量或矩阵,则对向量或矩阵中的每个元素求多项式的值。
这个很容易理解,对吧。注意,如果你的智商比我高,下面的也能理解。我是想了很长时间的。
polyvalm(p,x):
矩阵多项式求值,其调用格式与polyval相同,但含义不同。polyvalm函数要求x为方阵,以方阵为自变量求多项式的值。
设A为方阵,P代表多项式x3-5x2+8,那么polyvalm(P,A)的含义是:
A ∗ A ∗ A − 5 ∗ A ∗ A + 8 ∗ e y e ( s i z e ( A ) ) A*A*A-5*A*A+8*eye(size(A)) A∗A∗A−5∗A∗A+8∗eye(size(A))
由于我只学了一点线性代数,暂时还不明白为何加一个单位矩阵,容我再想一会儿。
而polyval(P,A)的含义是:
A . ∗ A . ∗ A − 5 ∗ A . ∗ A + 8 ∗ o n e s ( s i z e ( A ) ) A.*A.*A-5*A.*A+8*ones(size(A)) A.∗A.∗A−5∗A.∗A+8∗ones(size(A))
思考:polyval(p,x)与polyvalm(p,x)有没有可能相等?如果有可能,在什么情况下相等?
例3 以一个多项式 x 4 + 8 x 3 − 10 x^4+8x^3-10 x4+8x3−10为例,取一个2×2矩阵为自变量,分别用polyval和polyvalm计算该多项式的值。a=[1,8,0,0,-10]; x=[-1,1.2;2,-1.8]; y1=polyval(a,x) y2=polyvalm(a,x)
5 多项式的求根
在MATLAB中,多项式求根函数为roots(p),其中p为多项式的系数向量。
例如,求多项式x4+8x3-10的根。a=[1,8,0,0,-10]; x=roots(a)
若已知多项式的全部根,则可以用poly函数建立起该多项式,其调用格式为:
p=poly(x)
例如,在以上语句之后,继续输入命令:p=poly(x) p= 1.00008.00000.00000.0000-10.0000
例4某工业过程需要对工件进行高温加热,热量由一个燃烧装置产生。该装置中共有两条输送管道,一条管道按固定量提供燃料,一条管道注入空气。空气能够帮助燃烧,但是过高的空气流量又会带走热量,降低加热效率。经过数十次空气流量实验,技术部门取得了相应的结果数据,并通过曲线拟合得知空气流量与加热效率在[0,2]范围内基本满足多项式 p ( x ) = − 38.89 × 2 + 126.11 x − 3.42 p(x)=-38.89×2+126.11x-3.42 p(x)=−38.89×2+126.11x−3.42(x表示空气流量),请推算空气流量在[0,2]范围内什么水平时,加热效率为最高。
p=[-38.89,126.11,-3.42]; q=polyder(p) roots(q) polyval(p,1.6214) x=0:0.1:2; plot(x,polyval(p,x),1.6214,98.8154,'rp');
结语
码字不易💀,欢迎大家点赞👍,收藏⭐,转发🚀,
如有问题、建议欢迎在评论区留言💬。更多相关内容 -
Matlab计算多项式的值(数值)
2020-10-22 21:46:48MATLAB 中,多项式用一个行向量表示,行向量的元素值为多项式系数按幂次的降序排列;...MATLAB中 polyval 函数用于将指定的值 - 计算多项式; 例如计算前面多项式 p, x = 5; 输入和运行结果如下; ...MATLAB 中,多项式用一个行向量表示,行向量的元素值为多项式系数按幂次的降序排列;
例如多项式,
P(x) = 2*x^4 + 3*x^3 - 2*x^2 + 7*x + 11
可表示为,
p = [2 3 -2 7 11]MATLAB中 polyval 函数用于将指定的值 - 计算多项式;
例如计算前面多项式 p, x = 5;输入和运行结果如下;
-
用Matlab计算多项式的值
2021-09-27 17:56:16本篇文章中,将会介绍Matlab计算一元多项式的基本原理和仿真过程。我们假设多项式P(x)有如下的形式: P(x)=anxn+an-1xn-1+…+a1x+a0 我们计算这个多项式的方法是synthetic division,综合除法,只通过乘、加两种运算...本篇文章中,将会介绍Matlab计算一元多项式的基本原理和仿真过程。我们假设多项式P(x)有如下的形式: P(x)=anxn+an-1xn-1+…+a1x+a0 我们计算这个多项式的方法是synthetic division,综合除法,只通过乘、加两种运算便可计算得到一元多项式P(x)对应不同变量取值时所对应的值
根据这个原理,我们在Matlab中写入程序进行验证,下面展示两个程序,第一个程序如下
这个程序的优点是比较直观,在多项式的次数较少时比较好用,但当多项式的次数较多时一个一个输入比较麻烦,下面介绍第二个方法
第二种方法是用了Matlab的矩阵运算功能,我们可以通过for语句来计算每一个系数对应的值。这个方法更简单。
如果上述文章有任何问题,欢迎大家批评指正。 -
MATLAB之多项式计算
2018-05-30 21:36:112、多项式的乘法:乘法用conv函数,例如:conv(p1,p2), p1、p2为两个多项式的系数向量,计算结果为p1*p2的新的向量的值。3、多项式除法: [Q,r]=deconv(p1,p2),多项式除法,Q返回p1/p2的商式,...1、MATLAB里多项式的表示:
一个p阶的多项式可以用一个含有p+1个元素的向量表示,例如:2*x^2+1可以表示为[2 0 1]。这里的第一个元素为最高阶元素;
2、多项式的乘法:
乘法用conv函数,例如:conv(p1,p2), p1、p2为两个多项式的系数向量,计算结果为p1*p2的新的向量的值。
3、多项式除法:
[Q,r]=deconv(p1,p2),多项式除法,Q返回p1/p2的商式,r返回p1/p2的余式。
注:p1与p2分别为x+1,x。
4、多项式求导函数:
polyder(p);对多项式p求导;
polyder(p,q);对多项式p*q求导数;
[P,Q]=polyder(p,q);对多项式p/q求导数,求得导数的分子放入P中,分母放到Q中;
5、多项式的求值:
polyval(p,x):代数多项式求值。
(1)如果x为一个标量,代表求p多项式在x点的值。
(2)如果x为一个向量或者矩阵,则对矩阵或者向量里面的每一个值求多项式的值。
polyvalm(p,x):矩阵多项式求值。
polyvalm与polyval的用法相同,但是要求x为方阵,求得结果是矩阵乘法。
6、多项式的求根:
x=roots(p),求多项式p的根。
如果已知根想重建多项式,可以用函数poly,利用方法
p=poly(x)。
-
MATLAB 处理多项式函数 多项式的matlab计算
2021-04-27 16:36:33多项式的表示: eg: p(x)= 在matlab中可以用数组表示: p=[2 -3 0 -1] ...poly函数的输入还可以是二维数组,此时返回的值为数组的特征多项式|lamdaE-A| 多项式求值: p=[2 -3 0 -1]; a=1.6 %... -
MATLAB中计算多项式零点,积分微分,加减乘除(附完整代码)
2022-04-20 22:46:37在MATLAB中,多项式用行向量表示,其元素为多项式的系数,从左到右按照降幂的形式排列,此种形式称之为幂系数。 例题1 将以下多项式利用MATLAB表示出来。 解: MATLAB代码如下: clc;clear; p=.. -
【新星计划】MATLAB-多项式计算
2021-06-14 15:06:50MATLAB计算多项式 MATLAB中 polyval 函数用于将指定的值 - 计算多项式。例如,要计算我们本节开始时举例的多项式 p, x = 4,输入: p = [1 7 0 -5 9];polyval(p,4) MATLAB 执行上述语句,返回以下结果: ... -
快速提高计算能力——matlab多项式计算
2022-04-13 21:53:56快速提高计算能力——matlab多项式计算! -
5.2 matlab多项式计算(多项式的四则运算、求导、求值、求根)
2021-12-09 08:36:17在MATLAB中创建多项式向量时,注意三点: (1)多项式系数向量的顺序是从高到低。 (2)多项式系数向量包含0次项系数,所以其长度为多项式最高次数加1。 (3)如果有的项没有,系数向量相应位置应用0补足。 2、多项式的四... -
Matlab多项式计算
2020-08-19 19:55:55在 MATLAB 中,n次多项式用一个长度为 n+1 的行向量表示。如有n次多项式: 则在 MATLAB 中, p(x) 表示为向量形式:[an,a(n-1),a(n-2),a(n-3),……,a0] 在 MATLAB 中创建多项式向量时,要注意三点: (1)多项式... -
广义拉盖尔多项式:LaguerreGen 计算实值 alpha 的广义拉盖尔多项式 L{n, alpha}-matlab开发
2021-05-31 02:23:46输出被格式化为与 MATLAB 范数对应的 (n+1) 次多项式向量(即最高系数是第一个元素)。 可能的用法: - polyval(LaguerreGen(n, alpha), x) 计算 L{n, alpha}(x) -roots(LaguerreGen(n,alpha))计算L {n,... -
Matlab: 多项式表示及其基本运算
2022-06-09 20:12:56Matlab用于动态系统建模、仿真与分析时,将会大量使用多项式。许多系统的模型描述(如系统的传递函数)都需要使用多项式,并在多项式描述的基础上对系统进行仿真分析。本文将概要性第介绍MATLAB中的多项式表示及其基本... -
如何用matlab求得多项式极值
2021-04-22 15:30:22int(F,t,0,T) 建议: 对问题先做数学上的简化,最后一步求解再用Matlab辅助计算,比如一些单变量的超越方程求零点 等等; 从开始就把一堆符号方程交给Matlab,不确定性太高,效率太低。 而对于比较复杂的积分,我... -
matlab中多项式
2021-05-05 02:31:56一多项式的创建(1)直接输入>> p=[1,2,-3,10]p =1 2 -3 10>> poly2sym(p)ans =x^3+2*x^2-3*x+10(2)如果A是矩阵,则poly(A)将创建A的特征多项式;如果A是向量,则poly(A)将创建A中个元素为根的多项式>&... -
如何利用matlab计算最小多项式
2021-04-19 05:11:05实现分段线性插值不需编制函数程序,MATLAB自身提供了内部函数interp1其主要用法如下:interp1(x,y,xi) 一维插值◆ yi=interp1(x,y,xi)对一组点(x,y) 进行插值,计算插值点xi的函数值。x为节点向量值,y为对应的节点... -
matlab多项式代入求值
2021-05-06 01:10:08Matlab多项式运算无论是在线性代数中,还是信号处理、自动控制等理论 中,多项式运算都有着十分重要的地位,因此,MATLAB 为多项式的操作提供了相应的函数库polyfun; Matlab 多项式运算与方程求根 ? Matlab的......... -
matlab计算特征多项式
2020-12-25 19:33:55太简单啦! >> I = eye(2); A =[ 1 2 ; 3 4]; syms x; det(x*I - A) ans = x^2 - 5*x - 2 -
Matlab-多项式及数值微积分
2019-09-08 10:11:4408多项式和数值微积分 1.Polynomial differentiation and integration 多项式 Differentiation微分 例如 f(x) = x^3 -2x -5 ,用一个矩阵接收他们的系数表示一个多项式 --> p = [1 0 -2 5]; Plot the ... -
MATLAB 多项式计算
2022-01-17 10:01:58MATLAB 多项式计算 多项式的表示: 多项式的四则运算: %多项式乘法 conv(P1,P2):多项式相乘函数。 %多项式除法 [Q,r]=deconv(P1,P2):多项式相除函数。 %其中,Q返回多项式P1除以P2的商式,r返回P1除以P2的余式。... -
matlab中多项式求导
2021-04-21 16:01:211 0.5 0 -0.5 -1 -1.5 -2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 4.对比用多项式函数的 polyder 函数及符号函数中的 diff 函数,求导 x2+2x+...多项式计算 6.1 数据统计处理 6.1.1 最大值和最小值 MATLAB提供的...MATLAB多项... -
matlab开发-因式分解多多项式
2019-08-27 17:04:28matlab开发-因式分解多多项式。将一个多根多项式分解成低次可分辨根多项式,然后求解。 -
matlab多项式构造/求根/某处的值
2020-07-14 19:16:48在matlab建模中,多项式一般会用来拟合,但多项式的构造和基本运算就有必要了解一下。下面博文主要探讨多项式的构造、求根以及求某处的值 -
Matlab作图多项式拟合
2022-06-07 13:41:29计算多项式p在x处的值4.画出多项式函数的曲线图三、拟合实例对x等于1-10,y大于20小于40的随机数进行多项式拟合x=1:10;y=20+20*rand(1,10);%定义x,ypoly2str(p,'x');%求拟合系数plot(x,y,'p');%画出散点图py=polyval... -
MATLAB多项式计算
2020-08-23 16:45:02MATLAB多项式计算 在MATLAB中,n次多项式用一个长度为n+1的行向量表示(因为是n个幂次项系数加上一个常数项),缺少的幂次项系数为0。 例如 n次多项式: P(x)=anxn+an-1xn-1+an-2xn-2+…+a1x+a0 表示为: [an,an-1,... -
matlab之多项式
2019-11-22 15:44:43一、多项式表示 p(x)=anxn+an-1xn-1+···+a1x+a0 ...二、多项式求值、求根和部分分式展开 1.多项式求值 用polyval(p,s),其中p为多项式,s为给定矩阵 例如: p= [1 2 1 3] polyval(p,2) %求当x=2时候多项式... -
MATLAB之多项式插值
2020-04-12 09:28:31MATLAB之多项式插值 一、算法原理 函数解析式未知,但已知一些列点的函数值。如下表所示,对于n+1个点,我们可以找到一个次数不超过n的插值多项式。 ,称f为x的n次插值多项式。 x0 x1 x2 x3 ...... ... -
regressionp:多项式回归计算-matlab开发
2021-05-29 05:43:55计算多项式回归函数 输入:x [mx 1 double]:输入数据的 x 值y [mx 1 double]:输入数据的 y 值n [1 x 1 double]:多项式回归线的阶数默认设置为 1 输出:Y [1 x 1 symfun]:作为 matlab 函数的回归线R [1 x 1 ... -
MATLAB多项式
2021-04-18 04:11:39多项式的表达式MATLAB用一个行向量来表示多项式,此行向量就是将幂指数降序排列之后多项式各项的系数。例如,考虑下面的表达式:这就是Wallis在他第一次在法国科学院提出牛顿法的时候所用的多项式。在MATLAB中,该... -
matlab提取多项式系数
2021-04-18 12:00:35要求一高阶多项式的根往 往须借助数值方法,所 幸MATLAB已将这些数值方法写成一函数 roots(p),我们只要输入多项式的各阶系数 (以 p 代表)即可...求曲线拟合多项式系数的函数是 ___ ,计算多项式在给定......第3章 mat... -
MATLAB数据分析与多项式计算
2020-05-08 18:43:22MATLAB提供的求数据序列的最大值和最小值的函数分别为max和min,两个函数的调用格式和操作过程类似。 1.求向量的最大值和最小值 求一个向量X的最大值的函数有两种调用格式,分别是: (1) y=max(X):返回向量X的最大...