MATLAB Answers

1

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

MINATI 님이 질문을 제출함. 12 May 2019
최근 활동 MINATI 님이 댓글을 추가함. 16 May 2019
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

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

로그인 to comment.

답변 수: 1

gonzalo Mier 님의 답변 12 May 2019
gonzalo Mier 님이 편집함. 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');

  댓글 수: 7

표시 이전 댓글 수: 4
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.

로그인 to comment.



Translated by