Filter löschen
Filter löschen

Retrieve vector within function file

2 Ansichten (letzte 30 Tage)
prabhjeet singh
prabhjeet singh am 31 Mär. 2021
Kommentiert: prabhjeet singh am 31 Mär. 2021
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

Akzeptierte Antwort

VBBV
VBBV am 31 Mär. 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 Kommentare
VBBV
VBBV am 31 Mär. 2021
Bearbeitet: VBBV am 31 Mär. 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 am 31 Mär. 2021
Thankyou very much VBBV. :)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by