How can I loop for Exponential Decay?

I tried to write Exponential Decay code. I have calculated into the function for each k value but I want to loop these codes. How can I do that?
clear;
clc;
c_0=10.2;
k=[0.13;0.28;0.51;0.72;0.89];
t_half=log(2)./k;
t=linspace(0,max(t_half)*2,100);
c=c_0*exp(-k(1)*t);
plot(t,c,'-g');
hold on;
c=c_0*exp(-k(2)*t);
plot(t,c,'-k');
hold on;
c=c_0*exp(-k(3)*t);
plot(t,c,'-b');
hold on;
c=c_0*exp(-k(4)*t);
plot(t,c,'-m');
hold on;
c=c_0*exp(-k(5)*t);
plot(t,c,'-c');
hold on;
e=ones(1,100);
plot(t,5.1*e,'-r');
grid on;
title("Exponential Decay");
xlabel('Time');
ylabel('Concentration');

답변 (1개)

Walter Roberson
Walter Roberson 2022년 5월 24일

0 개 추천

c=c_0*exp(-k(3)*t);
if t increases by 1 then the next value is exp(-k(3)) times the previous one. So in loop form, for each step multiply the previous result by a constant factor exp(-k)

댓글 수: 2

How can I write a for loop to adapt if I change the value of k?
for iter = 1:50
k = AdjustK(k, iter);
c = c.*exp(-k);
allc(:, end+1) = c;
end
where AdjustK changes k values under whatever circumstances might be appropriate (including possibly updating based on user sliders)

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

카테고리

도움말 센터File Exchange에서 Particle & Nuclear Physics에 대해 자세히 알아보기

질문:

2022년 5월 24일

댓글:

2022년 5월 24일

Community Treasure Hunt

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

Start Hunting!

Translated by