精华内容
下载资源
问答
  • 2021-04-18 10:14:00

    导航:网站首页 >

    matlab计算多项式相乘??,matlab中相加的多项式变为相乘的多项式用什么命令

    matlab计算多项式相乘??,matlab中相加的多项式变为相乘的多项式用什么命令

    匿名网友:

    本质上是一样的。

    向量卷积和多项式函数间的卷积从算法这个角度上,是一样的,所以都是conv函数。

    多项式函数的系数,其实就是一个向量。

    补充问题:向量卷积就是离散信号的卷积,看任意一本《信号与系统》的书就可以。

    y(n)=∑x(m)h(n-m) 求和变量为m

    匿名网友:

    A=sym('a',3)A = a1_1, a1_2, a1_3 a2_1, a2_2, a2_3 a3_1, a3_2, a3_3>> B=sym('b',3);>> A*B ans = a1_1*b1_1 + a1_2*b2_1 + a1_3*b3_1, a1_1*b1_2 + a1_2*b2_2 + a1_3*b3_2, a1_1*b1_3 + a1_2*b2_3 + a1_3*b3_3 a2_1*b1_1 + a2_2*b2_1 + a2_3*b3_1, a2_1*b1_2 + a2_2*b2_2 + a2_3*b3_2, a2_1*b1_3 + a2_2*b2_3 + a2_3*b3_3 a3_1*b1_1 + a3_2*b2_1 + a3_3*b3_1, a3_1*b1_2 + a3_2*b2_2 + a3_3*b3_2, a3_1*b1_3 + a3_2*b2_3 + a3_3*b3_3

    匿名网友:

    function c=mypolymul(a,b)flag=0;if isa(a,'sym')a=sym2poly(a);flag=1;endif isa(b,'sym')b=sym2poly(b);flag=1;endm=length(a);n=length(b);c=zeros(1,m+n-1);for i=1:mfor j=1:nc(i+j-1)=c(i+j-1)+a(i)*b(j);endendif flag==1c=poly2sym(c,'x');end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%调用方法:有两种>>syms x>>a=x^3+2*x^2+3*x+4;>>b=x^3+4*x^2+9*x+16;>>mypolymul(a,b) 或a=1,2,3,4;b=1,4,9,16;mypolymul(a,b)当a,b中有一个是符号时,返回的为符号。

    匿名网友:

    比如我们输出一个函数f=A*sin(x)-B*exp(C*x)这种表达式,A,B,C是你输入的任何参数.(1)你写上如下代码的M文件function f=dispf(A,B,C)syms x;f=A*sin(x)-B*exp(C*x);end(2)现在你直接在命令窗口输入命令dispf就可以了,比如>>dispf(12,36,78)ans =12*sin(x) - 36*exp(78*x)

    问题推荐

    更多相关内容
  • matlab多个式相乘代码pyGF2 GF2 [x]上的优化多项式算法。 该模块支持多项式加法gf2_add ,乘法gf2_mul除法gf2_div和扩展欧几里得算法gf2_xgcd 。 多项式必须表示为uint8的ndarray,包括零值系数。 假定最右边的数组...
  • ifft实现代码 matlab
  • 快速提高计算能力——matlab多项式计算!

    数学中,由若干个单项式相加组成的代数式叫做多项式(若有减法:减一个数等于加上它的相反数)。多项式中的每个单项式叫做多项式的项,这些单项式中的最高项次数,就是这个多项式的次数。其中多项式中不含字母的项叫做常数项。很显然,定义就是那么简单,并且,这个定义是在初中就已经学到过。然而,多项式的四则运算,求导,求值,等等一系列运算,用一个概括,那就是计算量大,尤其是多项式本身的规模就比较大时

    目录

    1,两个多项式相加

    2,两个多项式相乘

    3,两个多项式相除

    4,多项式求导

    5,多项式求值

    6,多项式求根

    7,如何根据系数向量生成对应的多项式?

    想想这样一个情景,有两个多项式,

    一个是

    另一个

    而问题也很简单,就是把这两个多项式相加,相乘,求导,等等,显然,相加是非常容易解决,然而相乘就比较麻烦了,尽管运算规则简单。对于这种问题,我仍然记得自己在草纸上一步一步算的情景,屏幕前的你是否也有过类似经历?

    不过,不要担心,办法总比困难多,今天我们就用matlab来解决这个问题。

    对于一个多项式,

    在matlab中,我们以这种向量形式来表示

    注:

    向量中多项式系数从高次到低次,顺序排列

    缺项用0补足

    向量长度为最高次数加1

    1,两个多项式相加

    %f1(x)=x^3+x^2+1,f2(x)=3*x^2+1p1=[1,1,0,1];p2=[3,0,1];result=p1+[0,p2];%保持两个向量同型,缺项补零disp(result);结果:     1     4     0     2

    减法同上。

    2,两个多项式相乘

    conv(p1,p2)

    p1,p2为两个多项式系数向量,返回值为系数向量

    %f1(x)=x^3+x^2+1,f2(x)=3*x^2+1p1=[1,1,0,1];p2=[3,0,1];result=conv(p1,p2);%p1,p2不需要必须保持同型disp(result);结果:3     3     1     4     0     1

    3,两个多项式相除

    [Q,r]=deconv(p1,p2)

    p1,p2为两个多项式系数向量,这里是p1除以p2,,Q是商式,r是余式,两个

    都为系数向量。​​​​​​​

    %f1(x)=x^3+x^2+1,f2(x)=3*x^2+1p1=[1,1,0,1];p2=[3,0,1];[Q,r]=deconv(p1,p2);%p1,p2不需要必须保持同型disp(Q);disp(r);结果:    0.3333    0.3333
        0         0   -0.3333    0.6667

    4,多项式求导

     polyder(p1)

    求p1对应多项式的导函数,返回值为系数向量。

    polyder(p1,p2)

    求p1,p2对应多项式相乘的导函数,返回值为系数向量。

    [a,b]=polyder(p1,p2)

    求p1,p2对应多项式相除的导函数,分子存入a,分母存入b

    ​​​​​​​

    %f1(x)=x^3+x^2+1,f2(x)=3*x^2+1p1=[1,1,0,1];p2=[3,0,1];r1=polyder(p1);  %求多项式f1的导函数r2=polyder(p1,p2);  %求多项式f2的导函数[p,q]=polyder(p1,p2); %求f1/f2的导函数,导函数分子存于p,分母存于qdisp(r1);disp(r2);disp(p);disp(q);结果:     3     2     0
        15    12     3     8     0
         3     0     3    -4     0
         9     0     6     0     1

    5,多项式求值

    polyval(p,x)

    p为多项式向量,x可以是标量,向量,或矩阵,

    若x为标量,则求多项式在该点的值

    若x为向量或矩阵,则对向量或矩阵中的每个元素求多项式的值。

    polyvalm(p,x)

    矩阵多项式求值,x为方阵,以方阵为自变量求多项式的值。​​​​​​​

    %f(x)=x+100;p=[1,100];%标量r1=polyval(p,1);%向量r2=polyval(p,[1,2]);%矩阵r3=polyval(p,[1,2;              3,4]);disp(r1);disp(r2);disp(r3);结果:   101
       101   102
       101   102   103   104
    %ployvalm()r4=polyvalm(p,[1,2;3,4]);disp(r4);结果:   101     2     3   104

    解释:

    以f(x)=x+100为例,来说明。当调用polyvalm(p,x)函数时,相当于

    x+100*ones(size(x))。

    也就把方阵带入时,把多项式的未知量全部换为了该

    方阵,遵从矩阵运算法则,而常数项则为数量矩阵,也就是把原来的常数与一

    个单位阵(与带入的矩阵同型)相乘。其它多项式与此相同。

    6,多项式求根

    roots(p)

    p为多项式的系数向量

    %x^2-2*x+1a=[1,-2,1];result=roots(a);disp(result);结果:     1     1

    当然,如果已知一个多项式的所有根,我们就可通过poly()函数来得到该多项

    式(相差常数倍),准确的应是系数向量。

    p=poly(r)

    r为根向量,p为原多项式的系数向量​​​​​​​

    result=[1,1];p=poly(result);disp(p);结果:     1    -2     1

    7,如何根据系数向量生成对应的多项式?

    poly2sym(p,sym('变量'))

    p为系数向量,变量可以为x,t,等等,根据自己需自行设置要即可。​​​​​​​

    p=[1,-2,1];f1=poly2sym(p,sym('x'));disp(f1);结果:x^2 - 2*x + 1------------------------f2=poly2sym(p,sym('t'));disp(f2);结果:t^2 - 2*t + 1

    这些操作可以使得我们的计算又快又对,开始时提出的问题便很容易被解决,然而这些内容想要灵活运用,必然是需要大量练习的。其中有一些关键点,只有自己亲自编码才会更加有体会!

    展开全文
  • matlab进行多项式展开

    千次阅读 2020-11-09 20:03:50
    仅作为操作记录,大佬请跳过。 用expand函数 syms x s=(x+2)*(x+2) % s=(x+2)^2 % s=(x+1)^3 s1=expand(s) 运行结果: 参考: 传送门 ————————————————————————— ......

    仅作为操作记录,大佬请跳过。

    expand函数

    syms x
    s=(x+2)*(x+2)
    % s=(x+2)^2
    % s=(x+1)^3
    s1=expand(s)
    

    运行结果:

    在这里插入图片描述
    参考:

    传送门

    —————————————————————————

    关于复指数的展开:

    syms p
    % a=exp(j*2*pi)
    a=exp(j*(3/4)*pi);
    b=exp(j*(5/4)*pi);
    s=(p-a)*(p-b);
    s1=expand(s)
    

    运行结果:

    在这里插入图片描述

    展开全文
  • 多项式嵌套乘法及matlab实现

    千次阅读 2020-12-03 11:11:18
    matlab实现: % 嵌套乘法 % 使用霍纳方法以嵌套形式计算多项式的值 % 输入:多项式的阶d, % d+1个系数构成的数组c(第一个元素为常数项), % x坐标需要进行求值的x位置, % 如果需要的话,还有d个基点构成的数组...

    计算机求解多项式需要多次乘法,为了减少乘法次数可使用嵌套乘法。

    如若多项式为:

    P(x)=c_1{+c_2{x+c_3{x^{2}+c_4{x^{3}+c_5{x^{4}}}}}}

    则可使用嵌套法展开为:

    P(x)=c_1+(x-r_1)(c_2+(x-r_2)(c_3+(x-r_3)(c_4+(x-r_4)(c_5))))

    matlab实现:

    % 嵌套乘法
    % 使用霍纳方法以嵌套形式计算多项式的值
    % 输入:多项式的阶d,
    %       d+1个系数构成的数组c(第一个元素为常数项),
    %       x坐标需要进行求值的x位置,  
    %       如果需要的话,还有d个基点构成的数组b
    % 输出:多项式在x点对应的值y 
    function y = nest(d,c,x,b)
    if nargin<4
        b=zeros(d,1);
    end
    y=c(d+1);
    for i=d:-1:1
        y=y.*(x-b(i))+c(i);
    end

    可以验证此算法

    若所有基点为0,可使用如下缩减形式的命令:

    使用该命令可以得到同样的结果,这是由于在nest.m中对于输入参数的设置,如果输入的参数个数小于4,基点被自动设置为0

    由于matlab对于向量表达的无缝处理,嵌套命令可以同时估计一组x对应的多项式的值,如下:

     

     

    本文参考自数值计算(原书第2版)

    展开全文
  • 1、多项式的表示 在MATLAB中创建多项式向量时,注意三点: ...conv (P1,P2):多项式相乘函数。 在这里,P1、P2是两个多项式系数向量。 (3)多项式除法 [Q,r]=deconv(P1,P2):多项式相除函数。 其中,Q返.
  • 多项式相乘

    2020-07-25 20:25:11
    下面两种方法计算结果是一致的。 matlab 计算结果 ​f=(x^2+2*x+1)*(2*x^2+x+3) collect(f,x)​ 2*x^4 + 5*x^3 + 7*x^2 + 7*x + 3 conv([1,2,1],[2,1,3]) 2 5 7 7 3
  • 波特图在MATLAB软件中的三种绘制方法.pdf
  • 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)多项式...
  • matlab多项式运算【技术材料】》由会员分享,可在线阅读,更多相关《matlab多项式运算【技术材料】(33页珍藏版)》请在人人文库网上搜索。1、Matlab 多项式运算与代数方程求解器,主要内容 多项式的表达方式 多项式...
  • MATLAB 多项式计算

    2022-01-17 10:01:58
    %多项式乘法 conv(P1,P2):多项式相乘函数。 %多项式除法 [Q,r]=deconv(P1,P2):多项式相除函数。 %其中,Q返回多项式P1除以P2的商式,r返回P1除以P2的余式。这里Q和r仍是多项式系数向量。 %deconv是conv的逆函数,...
  • %本函数用于多项式加法 %修改于2019年12月15日 %函数调用示例: %syms x y %f1 = 4*x^4 + 2*x + 1; %f2 = x^5+2*x+1; %q1_polyplus(f1,f2) %% 参数读入区 %p1 = p1(:).';%当调用为系数矩阵时的容错 %p2 = p2(:).'; ...
  • 如何用matlab化简多项式

    千次阅读 2021-04-21 09:06:36
    问题描述:如何用matlab化简多项式w=(5000*x1+7000*x2+12000*x3+15000*x4+10000*x5)*0.015+101*(0.75*x1+0.9*x2+1.3*x3+0.43*x4+1.37*x5)+131*(0.23*x1+1.35*x2+0.46*x3+0.64*x4+0.34*x5)+177*(0.38*x1+0.3*x2+0.46*...
  • 多项式计算
  • % 多项式运算训练 conv poly deconv roots polyval polyft% 初始化clc;close all; clear;% conv - 卷积同时适应多项式乘法x = [ 2,3 ];y = [ 1 0 9 ];z = conv( x,y );% z =%% 2 3 18 27% poly - 由根求多项式y1 = ...
  • MATLAB多项式计算

    千次阅读 2020-08-23 16:45:02
    MATLAB多项式计算 在MATLAB中,n次多项式用一个长度为n+1的行向量表示(因为是n个幂次项系数加上一个常数项),缺少的幂次项系数为0。 例如 n次多项式: P(x)=anxn+an-1xn-1+an-2xn-2+…+a1x+a0 表示为: [an,an-1,...
  • MATLAB多项式运算与符号运算

    千次阅读 2017-11-10 09:58:33
    利用多项式运算和符号表达式运算十分方便,下面总结了...2.p3=conv(p1,p2)多项式相乘 3.p1=polyder(p)多项式求导 3.polyval(p,x)多项式代入求值 4.polyfit(x,y,n)多项式拟合 5. [r,p,k] =residue(b,a)部分分式展...
  • Matlab多项式运算

    2021-04-21 22:28:43
    % matlab语言把多项式表达成一个行向量,该向量中的元素是按多项式 %降幂排列的。% f(x)=an^n+an-1^n-1+……+a0% 可用行向量 p=[an an-1 …… a1 a0]表示clear all ;clc;close all;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%...
  • matlab多项式的表示以及运算

    千次阅读 2019-06-09 15:27:46
    1.多项式的表示以及运算 例如p(x)=x^3-3x+10 表示为p=[1 0 -3 10]; 或者p=[1,0,-3,10]; 2.roots 函数 roots函数求解其对应的方程式的根,例如: >>r=roots(p); 接上式,即可得到方程的根 3.poly...
  • 该函数并不完美,因为我通过反转加权参数矩阵以将其与 y 值相乘来解决最小二乘问题以接收解决方案。 由于某些参数可能接近于零,Matlab 在命令窗口中发出警告。 非常欢迎有关如何更优雅地解决此问题的任何建议。 ...
  • 终于结束了关于MATLAB的基础...请注意上面一句话,这将是MATLAB中对多项式操作的关键MATLAB中对多项式中缺少的幂次的系数应补充为0,不能空过去例:输入多项式3x^4 + 23x^3 – 6x +8Python>> p = [3 23 0 -6 8...
  • Matlab多项式 往期文章: Matlab多项式基本运算(1)( polyval和polyvalm的区别) Matlab多项式求值(2)(roots和poly的使用) 符号运算中的多项式 matlab通过系数矩阵进行多项式计算。先来看下例子: 加减运算没...
  • 如何利用MATLAB多项式进行计算?

    千次阅读 2020-04-19 22:01:37
    文章目录0 前言1 多项式的...本文是科学计算与MATLAB语言课程的第5章第2小结的学习笔记,通过查阅本文,可以轻松掌握利用MATLAB进行多项式的四则运算(加减乘除)、求导、求值、求根等,Enjoy your read...
  • 例如 x^6+5694x^5+3919576x^4+6495968x^3+518946659x^2+1235997755x+2156565353535☞☞☞(x²+........)(x²+........)(x²+........)
  • 1 matlab多项式求根 举例:求解多项式3x4-10x3+15x+1000的根 Matlab代码 %% 多项式求解 p = [3 -10 0 15 1000]; r = roots(p); 运行结果 r = 4.0283 + 2.8554i 4.0283 - 2.8554i -2.3616 + 2.8452i -...
  • 多项式的建立: clc claer all; p1=[7 5 3 87];%多项式的系数,最高次幂就是x3,系数7 y=polyasym(p1)%由向量创建多项式 disp(y)%显示多项式 利用多项式的根建立多项式: clc clear all; r=[4 6 8];%三个根 p=poly®;...
  • [MATLAB]多项式求导/加减/乘除

    千次阅读 2020-03-20 16:44:02
    多项式计算 roots ployval MATLAB
  • MATLAB中的多项式运算

    千次阅读 2021-05-08 18:51:07
    1.多项式求根在MATLAB中求取多项式的根用roots函数。函数:roots功能:一元高次方程求解。语法:roots(c)说明:返回一个列向量,其元素为多项式c的解。例:求方程x3-8x2+6x–30=0的解。c = [0 -8 6 30]; %注意需包含所有...
  • FFT乘法和高精运算库

    2021-04-24 12:31:05
    乘法如果直接像手工算一样做,复杂度是O(n*n)的,FFT乘法是将数看成多项式: P1(x)=a0+a1x+a2x^2+...+anx^n,如果取ak在0到9之间,且x取10,那它就表示一个十进制数,如果再用另外一个多项式P2(x)与它相乘,那结果...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,541
精华内容 616
关键字:

matlab多项式相乘

matlab 订阅