Expressing polynomial including a indefinite parameter

2 次查看(过去 30 天)
Hi All,
I know that the expression p=[1 -4 2] corresponds to p(x) = x^2 - 4x + 2.
I want to express p(x) = a*x^2 - 4x + 2-a
I would appreciate it if you told me how to do that.
Bests,
Cagdas

采纳的回答

Matt J
Matt J 2021-10-21
编辑:Matt J 2021-10-21
One way.
p = @(x,a) polyval([a,-4,2-a],x);
Usage:
x=1; a=2;
p(x,a)
ans = -2
  5 个评论
Matt J
Matt J 2021-10-21
编辑:Matt J 2021-10-21
But what I am aiming to do is to give it a value only for x which returns a polynomial including the constant(indefinite) "a".
I maintain that that is what is achieved by doing as follows (updated for your new example).
Pxa = @(x) @(a) polyval([2*a,-4,2-a],x);
Now if we invoke px() at x=1,
p=Pxa(1); %x=1
then I claim that p(a) is the polynomial function a-2. We can check various inputs a to verify that this is true:
a=5; p(a)
ans = 3
a=2; p(a)
ans = 0
a=0; p(a)
ans = -2

请先登录,再进行评论。

更多回答(1 个)

Matt J
Matt J 2021-10-21
编辑:Matt J 2021-10-21
Possibly you mean that you want a coefficient vector as the output, rather than a polynomial in functional form.
syms a x
P = 2*a*x^2 - 4*x + 2-a
P = 
p=subs(P,x,1)
p = 
coefficients = sym2poly(p)
coefficients = 1×2
1 -2
  3 个评论
Cagas Akalin
Cagas Akalin 2021-10-21
Dear Matt,
Since my question covers an different topic in the bigger picture I will pose it in an another question page.
Bests,
Cagdas
Matt J
Matt J 2021-10-21
编辑:Matt J 2021-10-21
Yes, what I was trying to implement was exactly that you guessed.
I'm glad we converged, but please Accept-click the answer to indicate that your question was resolved.
Since my question covers an different topic in the bigger picture I will pose it in an another question page.
Yes, by all means.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Polynomials 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by