Posted on September 27, 2021Active
All the explanation is given in detail in the file attached.
Basically, I have now a trajectory represented in MatLab in B-spline form. This is called sp. Now giving a shift of initial point and a change in velocity function, I need to obtain a new trajectory. I am looking for help in achieving this step. Underneath a few more details about the small step of achieving the representation of B-spline derivatives:
* Starting point is the given trajectory (given by a spline function object sp
* The modification is defined by x0 (shift of starting point) and a given
function object DeltaV(t) for modification of the velocity.
* Needed: A representation of the derivatives of the B-spline basis of sp.
Then, the least-squares system can be formulated.
The idea below is to use the derivative function of matlab for B-spline
functions. Each B-spline B_i has the representation B_i = 0*B_1+ … +1* B_i+
… + 0*B_n. This means that the coefficient vector is the i-th unit vector.
Then, a B-spline representation of B_i’ can simply be obtained by calling
fnder on a B-spline with coefficients being the unit vector. This provides us
with the following code snippet:
knots = fnbrk(sp,’knots’);
dBsB = fnder(spmak(knots,eye(n)));
In order to evaluate the derivatives of all B-sline in parallel at a certain
t, the call
val = fnval(dBsB,t)’;
will do. Transposition is there in order to get a row vector.
I need an explanation of the above reasoning and the help in achieving the goal described in the file attached.
That is the full description.
There are no bids yet.