我阅读了Matlab教程脚本,但不确定函数polyvalm
的工作方式。
多项式如下:p(X)= X ^ 3 -2 * X -5I(其中I为单位矩阵)
p(X)
的多项式系数为[1 0 -2 -5]
X = [2 4 5; -1 0 3; 7 1 5];
Y = polyvalm(p,X)
我的解释是X.^3 - 2*X -5*eye(3)
,但我的结果完全不同。
很抱歉排版很丑,但是堆栈溢出没有提供Latex,所以帮不上忙
答案 0 :(得分:1)
您使用的是元素明智的多维数据集(X.^3
),这与实际获取矩阵当然有所不同。因此,对于您的p
,多项式实际上是X^3 - 2*X - 5*eye(size(X))
:
p = [1 0 -2 -5];
X = [2 4 5; -1 0 3; 7 1 5];
% anonymous function to illustrate
f = @(X,p) p(1)*X^3 + p(2)*X^2 + p(3)*X + p(4)*eye(size(X));
y_polyvalm = polyvalm(p,X)
y_fun = f(X,p)
这将导致
y_polyvalm =
377 179 439
111 81 136
490 253 639
y_fun =
377 179 439
111 81 136
490 253 639