我在Matlab中创建一个任意长度的多项式函数时遇到了问题,在与矢量一起作为参数使用时,这会起作用。如何创建一个接受向量的多项式?
我必须做一个算法,它包括并返回一个多项式的值。 贝娄是我的代码:
n = 4 % For simplicity, could be arbitrary positive integer
f = @(x) x.^[0:n] %Coefficients are 1 (for this example), if not, would be multiplied with vector of them
p = @(x) sum(f(x)) %My polynomial
>> p(5)
ans =
781
这又是刨。但是因为我需要一个绘图,我需要我的多项式能够接收值的向量并返回它们。但是当我这样做时,弹出一个错误。 例子:
>>p([1 2 3 4])
Error using .^
Matrix dimensions must agree.
Error in @(x)x.^[0:n]
Error in @(x)sum(f(x))
我想这回是一个长度为4的用我的多项式[p(1) p(2) p(3) p(4)]
我解决此得到了通过创建一个for循环值向量,但我只是想知道,是值的载体可以改变我的代码,所以这将工作?
我尝试了你的建议,并得到了和以前一样的错误。 – Ravonrip
你正在使用哪个matlab版本? – m7913d
我使用Matlab版本R2015b – Ravonrip