• MATLAB使用速成 第七章(多项式运算与代数方程求解)


    一、多项式运算

    1、多项式的表示方法

    (1)在MATLAB中,n次多项式用一个长度为n+1的向量来表示。

    (2)多项式与符号表达式的互化:

    ①语句“poly2sym(x)”可将多项式x转化为符号表达式。

    ②语句“sym2poly(f)”可将符号表达式f转化为多项式。

    2、四则运算

    (1)加减运算:

    ①MATLAB没有提供专门进行多项式加减运算的函数,多项式的加减就是其所对应的系数向量的加减运算。

    ②次数相同的多项式,可直接对其系数向量进行加减运算;如果两个多项式次数不同,则应该把低次多项式中系数不足的高次项用0补足,然后再进行加减运算。

    (2)乘法运算:

            语句“k=conv(p,q)”可将多项式p和q相乘的结果存放在k中。

    (3)除法运算:

            语句“[k,r]=deconv(p,q)”可将多项式p除以q的商存放在k中,余式存放在r中。

    3、导数与积分

    (1)多项式求导:

    (2)多项式积分:

    4、求值与零点

    (1)多项式求值:语句“polyval(p,x)”可计算多项式p在x点的值,这里的x可以是向量或矩阵,如果是向量或矩阵则采用的是相应的数组运算,也就是每个元素分别代入p中进行求值,返回一个同等大小的向量或矩阵。

    (2)矩阵多项式求值:语句“polyvalm(p,A)”可计算多项式p作用在矩阵A上的值,这里的A必须是方阵,且采用的是普通矩阵运算,也就是线性代数中的矩阵运算。

    (3)多项式的零点:

    ①语句“roots(p)”可计算多项式p的所有零点,返回一个由p的所有零点组成的向量。

    ②若已知多项式的全部零点,则可用poly函数给出该多项式。

    二、代数方程求解

    1、线性方程组求解

            语句“linsolve(A,b)”可求解线性方程组Ax = b,其中右端项b是列向量,由各方程右侧的常数项组成,A为各方程的各次项系数组成的矩阵。

    2、非线性方程求解

            当多项式的次数大于1时,其对应的方程为非线性方程,可用命令fzero进行求解。

            ①方程可能有多个根,但fzero只给出x0附近的一个;或者f(x)=0在[a,b]内可能有多个解,但fzero也只给出一个。

            ②fzero先找出一个包含x0的区间,使得f在这个区间的两个端点上的函数值异号,然后再在这个区间内寻找方程f(x)=0 的解;如果找不到这样的区间,则返回NaN。

            ③由于fzero是根据函数是否穿越横轴来决定零点,因此它无法确定函数曲线仅触及横轴但不穿越的零点。

            ④参数f是一个函数句柄,可由匿名函数、内联函数、字符串及函数文件的方式给出。(需要注意的是,不能使用符号表达式)

  • 相关阅读:
    YOLOv5实操——检测是否戴口罩
    理解 WebView
    [H5动画制作基础]随机四位数值
    利用KerasCV YOLOv8轻松实现目标精确检测
    ffmpeg 滤镜实现不同采样率多音频混音
    C语言:打印100-200的质数
    ECMASript 6 新特性
    MySQL约束
    Docker安装Redis
    云轴科技ZStack与华东师范大学共建产教融合基地
  • 原文地址:https://blog.csdn.net/Zevalin/article/details/138070948