MATLAB Answers

How to derivate a vector

175 ビュー (過去 30 日間)
Thierry Gelinas
Thierry Gelinas 2015 年 4 月 12 日
コメント済み: Image Analyst 2015 年 4 月 12 日
Hi, I put a polynom ( x^2+x-1) in a form of a vector :
[1 1 -1].I don't know how to derivate this vector and how to evaluate it.
Thanks, Thierry.

回答 (3 件)

Image Analyst
Image Analyst 2015 年 4 月 12 日
Not sure how those 3 numbers came from that equation, but anyway....The derivative is the slope. You have two line segments, from 1 to 1 and from 1 to -1. So the slope of the first line segment is 0 and the slope of the second line segment is -2. You can get this from
slopes = diff(yourVector);

Star Strider
Star Strider 2015 年 4 月 12 日
If you want to evaluate your polynomial and do a numerical derivative, use the polyval function to evaluate it, then the gradient function to take the derivative:
h = 0.1; % Spacing Constant
x = -5:h:5; % Independent Variable Vector
y = polyval([1 1 -1], x); % Evaluate Polynomial
dydx = gradient(y, h); % Take Numerical Derivative At Each Value Of ‘x’
Note that unlike diff, the gradient function will produce a vector the same length as the original data vector.
  3 件のコメント
Image Analyst
Image Analyst 2015 年 4 月 12 日
I agree with Star. The language in the question is so imprecise, it's impossible to determine if the [1 1 -1] vector is the x input vector or the polynomial y output vector. So I also gave a numerical answer. If the x location(s) where the derivative is known for certain, then you could just use calculus to determine the slope as 2*x+1 and plug in the x where you want the slope computed at.


Youssef  Khmou
Youssef Khmou 2015 年 4 月 12 日
additionally to the above answers, the simplest way to evaluate the polynomial is via anonymous function :
f=@(x) x.^2+x-1
Generally, coefficients vector is used to find the roots. concerning the derivation, gradient is more efficient than diff, when you have the sample rate :

Community Treasure Hunt

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

Start Hunting!

Translated by