Function & Plot?
1 view (last 30 days)
Show older comments
I am trying to solve an example that wants me to solve the equation(c=c-(k*c*t)) and plot the graph between c and t, knowing that t is the step size which in my case is 0.15, and k is constant=0.3, and c=15 initially, I am looking to create a function that calculate the decaying rate with time I have tried the following code: function Decayrate ()
k=0.3;
c=15;
t=(0:0.15:2.1);
c=c-(k*c*t)
plot (t,c)
but the problem is that it when applying the equation the t that going to be used is the the t value and not the step size (0.15), so how can I apply the step size instead of t to the equation, and plot c with t at the same time knowing that at t=0 c=15?
1 Comment
Eng. Fredius Magige
on 17 Oct 2015
Hi t=0, c=0.15 Noted that equation c is implicit? I think you have to use while function as long you known the boundary, (how far it has to go!!!!!!)
Answers (1)
Martin Schätz
on 17 Oct 2015
From what i did understand, if c=15 initialy, you have to change it every time. so the newc=c-(k*c*t) and also t will change every time. So i thing the code should look like this:
clear all
k=0.3;
c=15;
t=(0:0.15:2.1);
c=zeros(1,15)
Setup initial c to 15
c(1)=15;
for every next c, i will use the previous c and right t
for i=2:15
c(i)=c(i-1)-(k*c(i-1)*t(i))
end
figure
plot(t,c), axis tight
xlabel('t')
ylabel('c')
2 Comments
Steven Lord
on 17 Oct 2015
That statement of your question is much clearer. If you want to solve a differential equation numerically first take a look at ODE45.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!