当前位置: 首页 > news >正文

【MATLAB】(六)多项式的创建与四则运算

一.关于多项式的介绍

  式指的是代数式,是由数字和字母组成的,如1,5asdef,ax^n+b。式又分为单项式和多项式:

  ①单项式是数字与字母的积,单独的一个数字或字母也是单项式,如3ab。。

  ②几个单项式的和叫做多项式,如3ab+5cd。

  在高等代数中,多项式一般可表示为:a0x^n+a1x^(n-1)+…+an-1x+an。这是一个n(n>0)次多项式,a0,a1等是多项式的系数。在MATLAB中,多项式的系数组成的向量表示为
p=[a0,a1,…,a n-1],2x^3-x^2+3可以转化成[2,-1,0,3]。
系数中的零不能省略。
将对多项式运算转化为对向量的运算,是数学中最基本的运算之一。

二.多项式的创建

  ①基本方法:直接输入。

主要由26个英文字母及空格等一些特殊符号组成。

>> 'a*x.^n+b*x.^(n-1)'ans ='a*x.^n+b*x.^(n-1)'

②最简单方法:直接输入向量。

通过poly2sym来实现,调用格式为 poly2sym(p),其中p为多项式的系数向量。

>> p=[3 -2 4 6 8]p =3    -2     4     6     8>> poly2sym(p)ans =3*x^4 - 2*x^3 + 4*x^2 + 6*x + 8>> p=[1 2 0 0 0 8]p =1     2     0     0     0     8>> poly2sym(p)ans =x^5 + 2*x^4 + 8

三.多项式的运算

  MATLAB 没有提供专门的针对多项式的加减运算的函数,多项式的四则运算实际上是多项式
对应的系数的四则运算。

  多项式的四则运算是指多项式的加、减、乘、除运算。需要注意的是,相加、减的两个向量必须大小相等。阶次不同时,低阶多项式必须用零填补,使其与高阶多项式有相同的阶次。多项式的加、减运算直接用“+”、“-”来实现。  

(1)乘法运算

多项式的乘法运算用函数conv(p1,p2)实现,相当于执行两个数组的卷积

在 MATLAB 中,conv(p1, p2) 用于计算两个向量的卷积(Convolution),它的本质是通过滑动窗口的方式,对两个序列进行加权求和。

>> p1=[1:5]p1 =1     2     3     4     5>> p2=[2:6]p2 =2     3     4     5     6>> p1+p2ans =3     5     7     9    11>> conv(p1,p2)ans =2     7    16    30    50    58    58    49    30

(2)除法运算

 多项式的除法用deconv(p1,p2)来实现,相当于执行两个数组的卷积。调用格式如下:

[k,r]=deconv(p,q)

其中k返回的是多项式p除以多项式q的商,r是余式。[k,r]=deconv(p,q)<--->p=conv(q,k)+r

>> p1=1:2p1 =1     2>> p2=2:3p2 =2     3>> [kr,]=deconv(p1,p2)kr =0.5000>> [k,r]=deconv(p1,p2)k =0.5000r =0    0.5000>> conv(k,p2)+rans =1     2

四.根据根构造多项式

根据poly(root)构造出系数向量,root为我们已知的根向量。

>> root=[-5 3+2i 3-2i];
>> p=poly(root)p =1    -1   -17    65>> poly2sym(p)ans =x^3 - x^2 - 17*x + 65

五.多项式的求导

多项式导数运算用函数 polyder 来实现。其调用格式为polyder(p)
其中p为多项式的系数向量。

>> p=[2 3 8 -5 6]p =2     3     8    -5     6>> a=poly2sym(p)a =2*x^4 + 3*x^3 + 8*x^2 - 5*x + 6>> q=polyder(p)q =8     9    16    -5>> b=poly2sym(q)b =8*x^3 + 9*x^2 + 16*x - 5

--------------------------------------------------

编自2025/8/3。进度还是太慢了,今天意外磕到腿了缝了个针,未来几天老老实实蹲家里听课吧TUT 

http://www.dtcms.com/a/313440.html

相关文章:

  • python的高校奖助学金系统
  • 23 Active Directory攻击与防护策略解析
  • 编译旧版本的electron内核
  • SpringBoot之整合MyBatisPlus
  • Nvidia Orin DK 刷机CUDA TensorRT+硬盘扩容+ROS+Realsense+OpenCV+Ollama+Yolo11 一站式解决方案
  • 从“配置地狱”到“云端乐园”——Nacos 如何成为分布式微服务配置中心的“定海神针”
  • 数组和指针的关系
  • 操作系统——读者写者问题
  • KNX协议介绍
  • Nvidia Orin + RealSense D435i 与3D地图实现导航
  • Ubuntu系统VScode实现opencv(c++)视频的处理与保存
  • [硬件电路-129]:模拟电路 - 继电器的工作原理、关键指标、常用芯片与管脚定义
  • SpringAI的使用
  • Socket编程——TCP协议
  • 从一到无穷大 #51:突破阿姆达尔定律:COZ因果剖析与串行优化八法
  • Java学习第一百零一部分——网关(Gateway)
  • java测试题(ssm框架)
  • 02.Redis 安装
  • MPLS 静态LSP
  • TV电视版软件集合分享
  • 深入理解Java并发编程:原理、实战与最佳实践
  • Redis 7 中的 Set 和 Zset 使用
  • 基于transformer的目标检测——匈牙利匹配算法
  • 深入解析HashMap:原理与性能优化
  • Vim编辑器详解:从入门到高效使用
  • 从零开始的CAD|CAE开发: LBM源码实现分享
  • 编程语言分类
  • JAVAEE--5.多线程之常见的锁策略
  • AI Competitor Intelligence Agent Team
  • 【openlayers框架学习】七:绘制线要素以及点击画线功能