Azzera filtri
Azzera filtri

Retrieve vector within function file

2 visualizzazioni (ultimi 30 giorni)
x = 10';
tspan = [0 10];
[t,x]= ode45(@fun,tspan,x);
[~, u] = fun(t.',x.');
figure(1)
plot(t,u,'-k','Linewidth',1.5);
and function file is
function [dot,u] = fun(~,x)
k = 1;
p = 10;
x = x(1);
u = (-k.*x + x.^3 - p.*x^2) ./ x;
xdot = -x.^3 + p.*x.^2 + x.*u;
dot = xdot';
When I try to plot t with u, I am not getting a plot because input u is not getting saved as vector.
Is there any way that u can be saved as a vector here?
Thanks

Risposta accettata

VBBV
VBBV il 31 Mar 2021
function [dot,u] = fun(~,x)
k = 1;
p = 10;
%x = x(1);
x
u = (-k.*x + x.^3 - p.*x.^2) ./ x;
xdot = -x.^3 + p.*x.^2 + x.*u;
dot = xdot';
  2 Commenti
VBBV
VBBV il 31 Mar 2021
Modificato: VBBV il 31 Mar 2021
Comment the line
%x = x(1);
Rune it again with a small change below line in function
u = (-k.*x + x.^3 - p.*x.^2) ./ x; % need element wise power operator
prabhjeet singh
prabhjeet singh il 31 Mar 2021
Thankyou very much VBBV. :)

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by