Needs derivative w.r.t. ' y ' & then graph w.r.t ' t '

y=0:0.01:5;
P2=5; %%% t=1;
U=exp(y*sqrt(P2)).*(1-erf(y./(2.*sqrt(t))+ sqrt(P2.*t)));
S= - diff(U,y); %%Needs derivative w.r.t. ' y ' & then its value at y=0
F= - diff(U,1);
%%NOW need to graph w.r.t ' t '
t=0:0.01:5;
plot(t,F)
xlabel(' t');
ylabel('F');
While running the code the following error occurs:
The second argument must be a variable or a nonnegative integer specifying the number of differentiations.
Error in
S= - diff(U,y)
And for F= - diff(U,1)
F=[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] is coming which is of no interest.

2 Commenti

Can you edit your question to put your code in code format?
Like this
Actually I don't know how to do that

Accedi per commentare.

 Risposta accettata

gonzalo Mier
gonzalo Mier il 12 Mag 2019
Modificato: gonzalo Mier il 12 Mag 2019
diff is a function of the symbolic package, so when you try to derivate U, you are derivating a constant, and by a constant, so F is a 0. To do what you want, you should do it in symbolic and then replace your variable, like:
syms y t
P2=5;
U=exp(y*sqrt(P2)).*(1-erf(y./(2.*sqrt(t))+ sqrt(P2.*t)));
S= - diff(U,y);
v_t=0.01:0.01:5;
F = subs(S,y,0);
plot(v_t,vpa(subs(F,t,v_t)))
xlabel(' t');
ylabel('F');

7 Commenti

The following ERROR occurs :
Error using symengine
Division by zero.
Error in sym/subs>mupadsubs (line 140)
G = mupadmex('symobj::fullsubs',F.s,X2,Y2);
Error in sym/subs (line 125)
G = mupadsubs(F,X,Y);
Error in (line 80)
plot(t,subs(F,t,v_t))
BUT by changing v_t=1:0.01:5;, ERROR is as:
Error using plot
Data must be numeric, datetime, duration or an array convertible to double.
Error in (line 80)
plot(t,subs(F,t,v_t))
Because you have a singularity in t=0. Just change the code at the end by:
v_t=0.01:0.01:5;
plot(v_t,vpa(subs(F,t,v_t)))
And please, use the tool to input code when you write code in the forum.
I change the code in the answer to make it work
Sorry for accepting the answer late
We had a very bad CYCLONE, So we had no electricity and no internet for last days
Thats why I accepted late
Oh sorry, I hope you and your family are ok.
Once a week I just see the answers I have answer that week and clean the ones that were accepted or comment the ones that seems solved. Sorry if it was too soon.
Thank you for accepting my answer and my best wishes for you.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su MATLAB in Centro assistenza e File Exchange

Richiesto:

il 12 Mag 2019

Commentato:

il 16 Mag 2019

Community Treasure Hunt

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

Start Hunting!

Translated by