Function & Plot?

1 view (last 30 days)
Abdullah Azzam
Abdullah Azzam on 17 Oct 2015
Commented: Steven Lord on 17 Oct 2015
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
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!!!!!!)

Sign in to comment.

Answers (1)

Martin Schätz
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
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.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!