首页 > 其他分享 >无涯教程-MATLAB - 多项式(Polynomials)

无涯教程-MATLAB - 多项式(Polynomials)

时间:2024-01-20 19:31:33浏览次数:39  
标签:语句 函数 多项式 0.00000 Polynomials 无涯 polyfit MATLAB

MATLAB将多项式表示为行向量,其中包含按降序排序的系数。例如,方程P(x)= x 4 + 7x 3 -5x + 9可以表示为-

p = [1 7 0 -5 9];

判断多项式

polyval 函数用于以指定值判断多项式。例如,要判断我们先前的多项式 p ,在x=4处,键入-

p = [1 7 0 -5 9];
polyval(p,4)

MATLAB执行上述语句并返回以下输出-

ans=693

MATLAB还提供了 polyvalm 函数,用于判断矩阵多项式。矩阵多项式是将矩阵作为变量的多项式。

例如,让我们创建一个平方矩阵X并在X-处判断多项式p

p = [1 7 0 -5 9];
X=[1 2 -3 4; 2 -5 6 3; 3 1 0 2; 5 -7 3 8];
polyvalm(p, X)

MATLAB执行上述语句并返回以下输出-

ans =
      2307       -1769        -939        4499
      2314       -2376        -249        4695
      2256       -1892        -549        4310
      4570       -4532       -1062        9269

找出多项式的根

roots 函数计算多项式的根。例如,要计算多项式p的根,请输入-

p = [1 7 0 -5 9];
r=roots(p)

MATLAB执行上述语句并返回以下输出-

r =
   -6.8661 + 0.0000i
   -1.4247 + 0.0000i
   0.6454 + 0.7095i
   0.6454 - 0.7095i

函数 poly 是根函数的逆函数,并返回到多项式系数。例如-

p2=poly(r)

MATLAB执行上述语句并返回以下输出-

p2 =

   Columns 1 through 3:

      1.00000 + 0.00000i   7.00000 + 0.00000i   0.00000 + 0.00000i

   Columns 4 and 5:

      -5.00000 - 0.00000i   9.00000 + 0.00000i

多项式曲线拟合

polyfit 函数找到以最小二乘意义拟合多项式的多项式的系数,如果x和y是包含要拟合为n次多项式的x和y数据的两个向量,则我们可以通过写-来拟合数据的多项式-

p=polyfit(x,y,n)

多项式示例

创建一个脚本文件并输入以下代码-

x=[1 2 3 4 5 6]; y=[5.5 43.1 128 290.7 498.4 978.67];   %data
p=polyfit(x,y,4)   %get the polynomial

% Compute the values of the polyfit estimate over a finer range, 
% and plot the estimate over the real data values for comparison:
x2=1:.1:6;          
y2=polyval(p,x2);
plot(x,y,'o',x2,y2)
grid on

运行文件时,MATLAB显示以下输出-

p =
   4.1056  -47.9607  222.2598 -362.7453  191.1250

并绘制下图-

多项式曲线拟合

参考链接

https://www.learnfk.com/matlab/matlab-polynomials.html

标签:语句,函数,多项式,0.00000,Polynomials,无涯,polyfit,MATLAB
From: https://blog.51cto.com/u_14033984/9346052

相关文章

  • 无涯教程-MATLAB - 代数(Algebra)
    到目前为止,我们已经看到所有示例都可以在MATLAB及其GNU(也称为Octave)中运行,但是对于求解基本的代数方程,MATLAB和Octave几乎没有什么不同,因此我们将尝试在单独的部分中介绍MATLAB和Octave。我们还将讨论代数表达式的分解和简化。MATLAB中代数方程solve函数用于求解代数方程,......
  • 无涯教程-MATLAB - 微积分(Calculus)
    MATLAB提供了多种方法来解决微分和积分问题,求解任意程度的微分方程式以及计算极限,最重要的是,您可以轻松求解复杂函数的图,并通过求解原始函数及其导数来检查图上的最大值,最小值。本章将讨论微积分的问题,在本章中,我们将讨论预演算的概念,即计算函数的极限并验证极限的性质。计算极......
  • 无涯教程-MATLAB - 绘图(Plotting)
    要绘制函数图,您需要执行以下步骤-通过为变量x指定值的范围定义x,为此函数绘制定义函数y=f(x)以plot(x,y)以下示例将演示该概念。让我们用简单的函数y=x绘制x的值范围(从0到100),增量为5。创建一个脚本文件并输入以下代码-x=[0:5:100];y=x;plot(x,y)运行文件时,MAT......
  • 无涯教程-MATLAB - 数据输出
    MATLAB中的数据导出意味着写入文件,MATLAB允许您在另一个读取ASCII文件的应用程序中使用数据,为此,MATLAB提供了几种数据导出选项。有两种方法可以将数字数组导出为定界的ASCII数据文件-使用save函数并指定-ascii限定符使用dlmwrite函数使用保存函数的语法是-savemy_data.......
  • 无涯教程-MATLAB - 字符串(Strings)
    在MATLAB中创建字符串非常简单,实际上,我们已经使用了很多次。例如,您在命令提示符下键入以下内容-my_string='LearnfkPoint'MATLAB将执行上述语句并返回以下输出-my_string=LearnfkPointMATLAB将所有变量视为数组,而字符串则视为字符数组,让我们使用whos命令检查上面创建的变......
  • 无涯教程-MATLAB - 数字(Numbers)
    MATLAB支持各种数字类,包括有符号和无符号整数以及单精度和双精度浮点数,默认情况下,MATLAB将所有数值存储为双精度浮点数。您可以选择将任何数字或数字数组存储为整数或单精度数字,所有数值类型都支持基本数组运算和数学运算。数据类型MATLAB提供以下函数以转换为各种数值数据类......
  • 无涯教程-MATLAB - 冒号表示法
    colon(:)是MATLAB中最有用的运算符之一,它用于创建向量,下标数组和指定迭代次数。如果要创建包含1到10的整数的行向量,请编写-1:10MATLAB执行该语句并返回包含1到10的整数的行向量-ans=......
  • 无涯教程-MATLAB - 循环语句
    循环语句允许我们多次执行一个语句或一组语句,以下是大多数编程语言中循环语句的一般形式-MATLAB提供了以下类型的循环来处理循环需求。Sr.No.LoopType&描述1whileloop在给定条件为真时重复一个语句或一组语句。2forloop多次执行一个语句序列,并简化管理循环变量的......
  • 无涯教程-MATLAB - 变量声明
    在MATLAB环境中,每个变量都是一个数组或矩阵。您可以通过简单的方式分配变量。例如,x=3 %定义x并用一个值初始化它MATLAB将执行上述语句并返回以下输出-x=3它创建一个名为x的1-by-1矩阵,并将值3存储在其元素中,让我们再看一个例子,x=sqrt(16) %定义x并用表达式......
  • 无涯教程-MATLAB - 环境设置
    本地环境设置只需单击几下即可设置MATLAB环境。可以从此处下载安装程序。MathWorks还提供许可产品,试用版和学生版,下载安装程序后,只需单击几下即可安装软件。MATLAB环境可以从桌面上创建的图标启动MATLAB开发IDE。MATLAB中的主要工作窗口称为桌面,启动MATLAB后,桌面将以其默认......