matlab里面root函数是什么意思?

 我来答
欧阳宇轩yk3wR
2018-01-06 · TA获得超过1.4万个赞
知道小有建树答主
回答量:111
采纳率:100%
帮助的人:4.1万
展开全部

root() 根的多项式函数

matlab里面roots和root

  1. roots:求多项式的根。

    例:求P(x)=5x^4+4x^3+3x^2+2x+1的零点。

    程序如下:

    P=[5 4 3 2 1];     %多项式各项的系数

    roots(p)                %求零点,也就是多项式的解

    运行后得结果:

    ans =

    0.1378 + 0.6782i

    0.1378 - 0.6782i

    -0.5378 + 0.3583i

    -0.5378 - 0.3583i

  2. root() 根的多项式函数,可以在Matlab 2016a运行。

    syms b
    subs(root(x^2 + b*x, x, 1), b, 5)

    ans =

    root(x^2 + 5*x, x, 1)

无名小卒udl
高粉答主

2018-01-06 · 每个回答都超有意思的
知道大有可为答主
回答量:187
采纳率:100%
帮助的人:5.9万
展开全部

在matlab里root函数是根的多项式函数。函数root(X, n)最早出现于Matlab7(R14)中,用以计算X的n次方根(实数)。因为只给出实数结果,所以当X中包含负数而n不是奇数的时候,会报错:
>> nthroot(-1, 2)
??? Error using ==> nthroot at 32
If X is negative, N must be an odd integer.

一、在Matlab中roots函数用来求多项式的根。一个N阶多项式可以表示成:

p(x) = aNxN + aN-1xN-1 + ... + a1x + a0;

二、对于低阶的多项式方程p(x)==0,有一些求根公式可用。但是对于高阶的多项式方程,问题就复杂得多。Concise Encyclopedia of Mathematics里的Polynomial词条给出了任意阶多项式方程的求根方法,也就是root.m中使用的方法:

构造矩阵A:

A =

-aN-1/aN -aN-2/aN ... -a1/aN -a0/aN

1       0 ...      0     0

0       1 ...      0     0

...      ...      ... ...    ...

0       0          1     0 

对矩阵A作特征值分解,得到的特征值就是多项式方程的根。

三、Matlab中使用向量表示多项式。向量的各个元素就是多项式的系数,例如:

p = [4 5 1];

代表了多项式:

p(1)*x^2 + p(2)*x + p(3) == 4x2 + 5x + 1

四、由于Matlab是专为矩阵操作设计的语言,所以我们可以很轻松地用Matlab语言实现上面求根的方法:

>> N = 2;

>> p = [4 5 1];

>> A = [-p(2:end)/p(1); eye(N-1) zeros(N-1, 1)];

>> eig(A)

ans =

-1.0000

-0.2500

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式