MATLAB多项式运算

序言

  none

正文

 1. 多项式的表示

  在Matlab中,多项式用一个行向量表示, 行向量的元素值为多项式系数按幂次的降序排列, 如p(x)=x3-2x-5用P=[1,0,-2,-5]表示.

2. 多项式相关的函数和运算

 (1) 多项式加减: 两个多项式之间的加减是对应幂次的系数进行加减, 可以直接用系数向量的加减法来得出.

 (2) 多项式乘法: 两个多项式的乘法用卷积函数conv来实现, 如计算多项式p1(x)=x3-2x-5和p2(x)=2x2+3x+1的积可利用如下代码:

p1=[1,0,-2,-5];
p2=[2,3,1];
conv(p1,p2)

 (3) 多项式除法: deconv. 对于任意两个多项式p1, p2, deconv(p1,p2)的值为两个行向量, 即[q,r]=deconv(p1,p2), 其中q是p1除以p2的商, r是余, 它们满足p1=conv(p2,q)+r.

 (4) 多项式的根: roots. 对于任意多项式p(x), 假设p是它的系数向量, 那么roots(p)的值是一个列向量, 列向量的每个元素都是p(x)=0的根.

(5) 矩阵的特征多项式由根求多项式: poly. 对于方阵A, poly(A)返回A的特征多项式对应的系数行向量(特征多项式的根为矩阵的特征值). 对于行向量r, poly(r)返回一个以r的所有元素为根的多项式的系数向量.

(6) 对多项式求导:  polyder. 对于任意多项式p(x), 假设p是它的系数向量, 那么polyder(p)的值是一个行向量, 这个行向量是p‘(x)=dp(x)/dx的系数向量.

(7) 对多项式求不定积分: polyint. 对于任意多项式p(x), 假设p是它的系数向量, 那么polyint(p)的值是一个行向量, 这个行向量是p(x)的不定积分∫p(x)dx的系数向量. 可知, polyder(polyint(p))的结果为p.

时间: 2024-10-29 19:05:43

MATLAB多项式运算的相关文章

Matlab基础学习--------关系和逻辑运算及多项式运算

直接给出实例,实例中包含知识点的讲解: %% 关系运算符 % < <= > >= == ~=(不等于) % 比较魔方矩阵中大学元素的值大于4 % 魔方矩阵:矩阵的每行每列和两条对角线上的和都相等 a=magic(3) %生成一个3*3的魔方矩阵 a>4*ones(3) %与全为4的矩阵进行比较 magic(6) %生成6*6的魔方矩阵 %运行结果: % a = % % 8 1 6 % 3 5 7 % 4 9 2 % ans = % % 1 0 1 % 0 1 1 % 0 1

MATLAB符号运算

1.符号运算 使用MATLAB可以进行多项式乘除运算,也可以进行因式分解. 例1. 多项式乘除运算(x+3)3 >> syms x;>> expand((x+3)^3) ans = x^3 + 9*x^2 + 27*x + 27 例2. 因式分解(x9-1) >> syms x;>> factor(x^9-1) ans = (x - 1)*(x^2 + x + 1)*(x^6 + x^3 + 1) 2.向量点乘 >> A =[ 1, 2,3];&

MATLAB卷积运算(conv、conv2、convn)解释

1 conv(向量卷积运算) 所谓两个向量卷积,说白了就是多项式乘法.比如:p=[1 2 3],q=[1 1]是两个向量,p和q的卷积如下:把p的元素作为一个多项式的系数,多项式按升幂(或降幂)排列,比如就按升幂吧,写出对应的多项式:1+2x+3x^2;同样的,把q的元素也作为多项式的系数按升幂排列,写出对应的多项式:1+x. 卷积就是"两个多项式相乘取系数".(1+2x+3x^2)×(1+x)=1+3x+5x^2+3x^3所以p和q卷积的结果就是[1 3 5 3]. 记住,当确定是用

Matlab位运算笔记

本文为转载其他地方的文章; MATLAB函数 1.matlab函数bitset 设置数的某一位二进制位为1. <Simulink与信号处理> 使用方法 C = bitset(A,bit) 将数A的第bit二进制位设为1. C = bitset(A,bit,V) <Simulink与信号处理> 将数A的第bit二进制位设为V,V必须为0或1. 应用举例 例1: . C = bitset(uint8(9),5) C = 25 将数字9(01001)的第5位设为1,C的二进制位11001

Matlab 符号运算

root(p):多项式求根.多项式等于0时对应方程的根. 例:,则输入p=[5 4 3 2 1]; root(p) 注:多项式系数都是按幂指数递减形式的. poly([a,b,c]):求已知根为a,b,c所对应的多项式. 例:>>P1=ploy([2,3,4]) P1= 1 -9 26 -24 %即所求多项式为 可以看出,root 和ploy互为逆运算. 注:ploy也可以求特征根.ploy(X):即求矩阵X的特征根. ployval(p,a):输出指定点x=a时的多项式值. conv(p,q

Matlab多项式

MATLAB使用一维行向量来表示多项式,多项式的系数按照降幂次序排列. roots() 多项式求根,返回一个列向量 poly() 由根创建多项式 conv() 多项式乘法 deconv() 多项式除法 polyder() 多项式微分 polyint() 多项式积分 polyval() 多项式求值 residue() 有理多项式(由分子多项式和分母多项式)部分分式展开 数据插值 插值的任务是由已知的观测点为物理量建立一个简单的.连续的解析模型,以便能根据该模型推测该物理量在非观测点的特性. int

PTA 6-14 用单向链表完成多项式运算 (35 分)

输入两个多项式,计算它们的加.减及乘法, 将计算结果输出到屏幕上. 1) 输入:从键盘分两行分别输入两个多项式数据,每个多项式输入格式如下: n a1 m1 a2 m2 a3 m3 . .. ai mi.... an mn 其中n为多项式系数为非零的项数,ai为系数,mi为指数, 它们都是整数,该输入数据所表达的多项式意义为(其中符号^表示幂次): a1x^m1 + a2x^m2 + a3x^m3 + ...... + an x^mn 2)输出:先输出参与运算的两个多项式, 然后输出它们的运算结

Matlab基础运算

1.冒号的使用 matlab : 冒号 用法大全以及实例 2.".^"和"^" MATLAB^和.^区别 3.特殊矩阵 特殊矩阵

Matlab多项式拟合测试

x=0:0.2:4; %生成等差数列 rnd=rand(1,size(x,2))*5; %生成一组随机数 y=x.*x.*x+x.*x+6+rnd; %生成y=x^3+x^2+6函数在垂直方向5个尺度内的随机采样序列 b=polyfit(x,y,3); %计算多项式拟合参数 yy=polyval(b,x); %生成拟合后y函数的新值 hold on,plot(x,y,'o'),plot(x,yy); %hold开关打开用于画在同一张图上,前者画散点,后者话拟合曲线. [效果图]: