matlab使用教程(18)—多项式的定义和运算

1.创建并计算多项式

        此示例说明如何在 MATLAB® 中将多项式表示为向量以及根据相关点计算多项式。

1.1 表示多项式

        MATLAB® 将多项式表示为行向量,其中包含按降幂排序的系数。例如,三元素向量
p = [p2 p1 p0];
表示多项式
        创建一个向量以表示二次多项式
p = [1 -4 4];
        此外,还必须将系数为 0 的多项式中间项输入到该向量中,因为 0 用作 x 的特定幂的占位符。 创建一个向量来表示多项式
p = [4 0 0 -3 2 33];

1.2 多项式的计算

        将多项式作为向量输入到 MATLAB® 后,请使用 polyval 函数根据特定值计算多项式。
使用 polyval 计算 p (2)
polyval(p,2)
ans = 153
        您也可以使用 polyvalm 以矩阵方式计算多项式。一个变量中的多项式表达式

 将变为矩阵表达式

        其中,X 是方阵, I 是单位矩阵。
        创建方阵 X 并根据 X 计算 p
X = [2 4 5; -1 0 3; 7 1 5];
Y = polyvalm(p,X)
Y = 3×3
154392 78561 193065
49001 24104 59692
215378 111419 269614

2.多项式的根

        此示例演示如何通过多种不同的方法计算多项式的根。

2.1 数值根

        roots 函数用于计算系数向量表示的单变量多项式的根。 例如,创建一个向量以表示多项式 x²  x − 6 ,然后计算多项式的根。
p = [1 -1 -6];
r = roots(p)
r =
3
-2
        按照惯例,MATLAB 以列向量形式返回这些根。
        poly 函数将这些根重新转换为多项式系数。对向量执行运算时, poly roots 为逆函数,因此poly(roots(p)) 返回 p (取决于舍入误差、排序和缩放)。
p2 = poly(r)
p2 =
1 -1 -6
        对矩阵执行运算时,poly 函数会计算矩阵的特征多项式。特征多项式的根是矩阵的特征值。因此,roots(poly(A)) eig(A) 返回相同的答案(取决于舍入误差、排序和缩放)。

2.2 使用代换法求根

        您可以通过使用代换法简化方程来对涉及三角函数的多项式方程求解。一个变量的生成多项式不再包含任何三角函数。
        例如,计算 θ 用于对该方程进行求解的值
3cos ² ( θ ) − sin( θ ) + 3 = 0 .
        利用 cos²(θ) = 1 − sin²(θ) ,完全以正弦函数的方式表示该方程:
−3sin²(θ ) − sin( θ ) + 6 = 0 .
        利用代换法 x = sin( θ ) ,将该方程表示为简单的多项式方程:
−3x² − x + 6 = 0 .
        创建一个向量以表示多项式。
p = [-3 -1 6];
        求多项式的根。
r = roots(p)
r = 2×1
-1.5907
1.2573
        要撤消代换法,请使用 θ = sin −1 ( x ) asin 函数计算反正弦。
theta = asin(r)
theta = 2×1 complex
-1.5708 + 1.0395i
1.5708 - 0.7028i
        验证 theta 中的元素是否为 θ 中用来对原始方程求解的值(在舍入误差内)。
f = @(Z) 3*cos(Z).^2 - sin(Z) + 3;
f(theta)
ans = 2×1 complex
10 -14 ×
-0.0888 + 0.0647i
0.2665 + 0.0399i

2.3 特定区间内的根

        使用 fzero 函数求多项式在特定区间内的根。在其他使用情况下,如果您绘制多项式并想要知道特定根的值,则这种方法很适用。
例如,创建一个函数句柄以表示多项式
p = @(x) 3*x.^7 + 4*x.^6 + 2*x.^5 + 4*x.^4 + x.^3 + 5*x.^2;
        在区间 [ − 2, 1] 内绘制该函数。
x = -2:0.1:1;
plot(x,p(x))
ylim([-100 50])
grid on
hold on
        从绘图中可以看到,多项式在 0 和另一个接近 -1.5 的位置各有一个简单的根。使用 fzero 计算并绘制接近 -1.5 的根。
Z = fzero(p, -1.5)
Z = -1.6056
plot(Z,p(Z), 'r*' )

2.4 符号根

        如果您有 Symbolic Math Toolbox™,则还会提供以符号形式计算多项式的其他选项。一种方式是使用solve 函数。
syms x
s = solve(x^2-x-6)
s =
-2
3
        另一种方式是使用 factor 函数计算多项式各项的因子。
F = factor(x^2-x-6)
F =
[ x + 2, x - 3]

3.对多项式求积分和微分

        此示例演示如何使用 polyint polyder 函数对由系数向量表示的任何多项式求解析积分或微分。使用 polyder 获取多项式 的导数。生成的多项式为
p = [1 0 -2 -5];
q = polyder(p)
q = 1×3
3 0 -2
        同样,使用 polyint 对多项式 求积分。生成的多项式为
p = [4 -3 0 1];
q = polyint(p)
q = 1×5
1 -1 0 1 0
        polyder 也可以计算两个多项式积或商的导数。例如,创建两个向量来表示多项式a ( x ) =   + 3 x + 5
b ( x ) = 2   + 4 x + 6
a = [1 3 5];
b = [2 4 6];
        通过调用带有单个输出参数的 polyder 来计算导数
c = polyder(a,b)
c = 1×4
8 30 56 38
        通过调用带有两个输出参数的 polyder 来计算导数 生成的多项式为

[q,d] = polyder(a,b)
q = 1×3
-2 -8 -2
d = 1×5
4 16 40 48 36

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/84402.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Hover研究: 下一代借贷协议 | 第一部分

这是我们对关于可持续通证经济模型用于借贷协议的研究,一共分为两部分,此篇为第一部分。 Hover团队花费了大量时间研究现有的借贷协议结构。我们的研究揭示了这些协议在扩展和增长过程中面临的多个挑战。 本系列将讨论这些挑战是什么,为什么它…

https非对称加密算法

非对称加密算法原理 在客户端公开公钥,服务端保存私钥 1.客户端第一次请求先请求443端口,从443端口下载公钥。 2.客户端将数据进行公钥算法进行加密,将秘文发送到服务端 服务端收到秘文后,通过私钥算法进行解密得到明文数据。…

k8s service (二)

K8s service (二) Endpoint Endpoint是kubernetes中的一个资源对象,存储在etcd中,用来记录一个service对应的所有pod访问地址,它是根据service匹配文件中selector描述产生的。 一个Service由一组Pod组成,这些Pod通过Endpoints…

高速、稳定、安全:4G工业路由器在户外环境下的组网优势

能够在无人值守的户外环境下实现组网和远程监控功能的4G工业路由器!工业级路由器具备防尘、防水、耐高温等特性,适用应用在恶劣的户外及工业场景中,如远程农田监测、驾考科目二/科目三、智能交通系统、环境监控、煤矿数据采集、水利远程管理等…

WPF CommunityToolkit.Mvvm

文章目录 前言ToolkitNuget安装简单使用SetProperty,通知更新RealyCommandCanExecute 新功能,代码生成器ObservablePropertyNotifyCanExecuteChangedForRelayCommand其他功能对应关系 NotifyPropertyChangedFor 前言 CommunityToolkit.Mvvm(…

C#8.0本质论第四章--操作符和控制流程

C#8.0本质论第四章–操作符和控制流程 4.1操作符 有些操作符以符号的形式出现,例如、-、?.或者??等,而另一些操作符则为关键词,例如default和is。 4.1.1一元正负操作符 一元正操作符()对值几乎没有影响,它在C#中是多余的。…

测试框架pytest教程(4)运行测试

运行测试文件 $ pytest -q test_example.py 会运行该文件内test_开头的测试方法 该-q/--quiet标志使输出保持简短 测试类 pytest的测试用例可以不写在类中,但如果写在类中,类名需要是Test开头,非Test开头的类下的test_方法不会被搜集为用…

<kernel>kernel 6.4 USB-之-hub_port_connect()分析

<kernel>kernel 6.4 USB-之-hub_port_connect()分析 kernel 6.4 USB系列文章如下: <kernel>kernel 6.4 USB-之-hub_event()分析 <kernel>kernel 6.4 USB-之-port_event()分析 <kern…

LeetCode.141,142——环形链表,环形链表Ⅱ

LeetCode.141——环形链表: 题目如下: 通过题目中对于环形链表的大体描述,可以知道,环形链表最后一个结点保存了一个地址,用于返回链表中某个结点。并且。这个返回的结点并不是返回图中保存数据的结点。而是返回链表…

TCP特点UDP编程

目录 1、tcp协议和udp协议 2、多线程并发和多进程并发: (1)多进程并发服务端 (2)多进程并发客户端: 3、tcp: 4、粘包 5、UDP协议编程流程 (1)服务器端: (2)客户端: 6、tcp状…

成集云 | 乐享问题邀请同步企微提醒 | 解决方案

源系统成集云目标系统 方案介绍 腾讯乐享是腾讯公司开发的一款企业社区化知识管理平台,它提供了包括知识库、问答、课堂、考试、活动、投票和论坛等核心应用。这个平台凝聚了腾讯10年的管理经验,可以满足政府、企业和学校在知识管理、学习培训、文化建…

Java实现钉钉企业内部应用机器和自定义机器人发送消息

前言 公司让写一个服务监控的功能,当监测到服务停止时,向钉钉群里推送报警信息。之前大概看到钉钉的开放平台的API文档,好像能群发消息的只有机器人。 钉钉开放平台目前提供三种机器人: 企业内部应用机器人 群模板机器人 自定义机器人 本来向用自己比较熟悉的自定义机器人…

8年经验之谈 —— 基于jmeter的性能全流程测试

01、做性能测试的步骤 1、服务器性能监控 首先要在对应服务器上面安装性能监控工具,比如linux系统下的服务器,可以选择nmon或者其他的监控工具,然后在jmeter模拟场景跑脚本的时候,同时启动监控工具,这样就可以获得jm…

Android Studio run app 设置 release 模式

背景 为验证我们的 SDK 集成在客户应用上的质量,需要我们的测试环境尽量的与客户应用保持一致。客户普遍都会打 release 包并混淆,然后进行上线应用,因此我们在测试过程中也需要使用 release 包进行验证。对于 Android Studio 运行项目&…

Jmeter数据驱动 —— csv高效用例

目录 1、设置测试用例,创建用例数据文件:testcase.csv 2、新建一个线程组,命名为:数据驱动,添加配置元件-HTTP请求默认值,配置好IP地址和端口号 3、添加逻辑控制器-循环控制器。循环控制器的作用可以控制…

【C++】运算符重载 | 赋值运算符重载

Ⅰ. 运算符重载 引入 ❓什么叫运算符重载? 就是:运用函数,将现有的运算符重新定义,使其能满足各种自定义类型的运算。 回想一下,我们以前运算的对象是不是都是int、char这种内置类型? 那我们自定义的“…

CST HFSS MATLAB参数方程定义曲面绘制

CST HFSS 函数定义曲面绘制 简介环境HFSSCSTMATLAB 简介 若在柱坐标系中半径r随z和phi都会变,无法使用一般的方法绘制,这时可以使用参数方程定义的曲面来绘制。举一个例子如下, r 100 0.5 ( c o s ( 0.2 ∗ p i ∗ z ) − 1 ) c o s ( φ …

Ganache 本地测试网远程连接

文章目录 前言1. 安装Ganache2. 安装cpolar3. 创建公网地址4. 公网访问连接5. 固定公网地址 前言 Ganache 是DApp的测试网络,提供图形化界面,log日志等;智能合约部署时需要连接测试网络。 Ganache 是一个运行在本地测试的网络,通过结合cpol…

哪些人适合参加大数据培训班?

互联网加速职场变革,大数据浪潮席卷全球。日前,Python、大数据、人工智能是当今最热门的话题。大数据存储、大数据分析、 人工智能等开发人才需求旺盛。 大数据培训班有大数据分析培训班、大数据开发培训班,JAVA培训班 大数据班适学人群…

【RabbitMQ】RabbitMQ整合SpringBoot案例

文章目录 1、前情提要【RabbitMQ】2、RabbitMQ-SpringBoot案例 -fanout模式2.1 实现架构总览2.2 具体实现2.2.1生产者2.2.1消费者 1、前情提要【RabbitMQ】 【RabbitMQ】消息队列-RabbitMQ篇章 RabbitMQ实现流程 2、RabbitMQ-SpringBoot案例 -fanout模式 2.1 实现架构总览…