2 views (last 30 days)

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.

gonzalo Mier
on 12 May 2019

Edited: gonzalo Mier
on 12 May 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');

gonzalo Mier
on 15 May 2019

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.

Opportunities for recent engineering grads.

Apply Today
## 2 Comments

## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/461563-needs-derivative-w-r-t-y-then-graph-w-r-t-t#comment_704246

⋮## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/461563-needs-derivative-w-r-t-y-then-graph-w-r-t-t#comment_704246

## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/461563-needs-derivative-w-r-t-y-then-graph-w-r-t-t#comment_704247

⋮## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/461563-needs-derivative-w-r-t-y-then-graph-w-r-t-t#comment_704247

Sign in to comment.