Getting error with the code in ode45 function

조회 수: 1 (최근 30일)
Mohith S
Mohith S 2021년 5월 14일
댓글: Stephan 2021년 5월 15일
function dy = f(t,y)
y=[9,100];
D=0.00000001;
F=96485;
Z=0.000000016;
R=0.08206*298;
C=0.05;
J=-((D*Z*F*C)/R);
dy = J*y;
t=[0 5];
inity = 0;
[t,y]=ode45(@f, t, inity);
plot(t,y)
end
This is code for Nernst-Planck equation and when i execute it with Matlab-2020RA version it is showing error as, Out of memory. The likely cause is an infinite recursion within the program.
Error in f (line 12)
[t,y]=ode45(@f, t, inity);
So help me to correct the code

채택된 답변

Stephan
Stephan 2021년 5월 14일
편집: Stephan 2021년 5월 14일
t=[0 5];
inity = 1;
[t,y]=ode45(@f, t, inity);
plot(t,y)
function dy = f(~,y)
% y=[9,100]; dont overwrite y
D=0.00000001;
F=96485;
Z=0.000000016;
R=0.08206*298;
C=0.05;
J=-((D*Z*F*C)/R);
dy = J.*y;
end
  댓글 수: 3
Mohith S
Mohith S 2021년 5월 14일
Now im getting this error if i use the above code u have given...
f(~, y)
f(~, y)
Error: Invalid expression. When calling a function or indexing a variable, use parentheses. Otherwise, check for mismatched delimiters.
Stephan
Stephan 2021년 5월 15일
Please show the full code you use that gives error.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Ordinary Differential Equations에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by