Using fnplt in UIAxes

2 visualizaciones (últimos 30 días)
Biraj Khanal
Biraj Khanal el 1 de Jun. de 2022
Respondida: Biraj Khanal el 17 de Nov. de 2022
I learned that fnplt takes a function as an input.
fnplt(cscvn([1 0 -1 -1 0 1;0 1 0 0 -1 0]));
The line above works fine.However, I could not do that in the UIAxes.
fnplt(app.UIAxes,cscvn([1 0 -1 -1 0 1;0 1 0 0 -1 0]));
The line above would produce the following error:
Input is not a function.
Error in fnplt (line 72)
f = fn2fm(f);
What is my error here and how can I fix it?
  1 comentario
Derek Vasquez
Derek Vasquez el 8 de Ag. de 2022
This is not exactly a solution, but I found a workaround to a similar problem by using something like this
t = linspace(0,5,100);
traj = fnval(cscvn([1 0 -1 -1 0 1;0 1 0 0 -1 0]),t);
plot(app.UIAxes,traj(1,:),traj(2,:))
Hope this helps someone!

Iniciar sesión para comentar.

Respuesta aceptada

Biraj Khanal
Biraj Khanal el 17 de Nov. de 2022
cscvn constructs spline in a piecewise polynomial form. as Derek has written in his comment, I had to evaluate the spline with fnval at certain breaks before plotting them .
For example
x = [-10,-8,-4,0,4,6,10];
y = [1 8 10 11 10 9 1];
s = cscvn([x;y]);
s_breaks = s.breaks;
new_y = fnval(s,linspace(s.breaks(1),s.breaks(end),100));
plot(app.UIAxes,new_y(1,:),new_y(2,:));

Más respuestas (0)

Categorías

Más información sobre Spline Postprocessing en Help Center y File Exchange.

Productos


Versión

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by