Using "If" and "NDSolve" together
- To: mathgroup at smc.vnet.net
- Subject: [mg106781] Using "If" and "NDSolve" together
- From: Benfeitas <rui.benfeitas at gmail.com>
- Date: Sat, 23 Jan 2010 07:33:50 -0500 (EST)
Hello! I have a tricky job to do: I want to simulate something, and want to assign a value to a variable under certain conditions. Those are, if time is within a certain interval, I want that variable to have that value. Otherwise, I want it to have other value. Until now, I have been trying to use the following command: Funcao[first_, last_] := Plot[A[t] /. NDSolve[ {A'[t] == k0 A0 - k1 A[t], B'[t] == k1 A[t] - k2 B[t], C'[t] == k2 B[t] - k3 C[t], A[0] == 2 10^-6, B[0] == 0, C[0] == 0} /. k0 -> 10^-2 /. k1 -> 10^-5 /. k2 -> 10^-6 /. k3 -> 10^1 /. If[first < t < last, A0 -> 1, 0], {A, B, C}, {t, 0, 1000}], {t, 0, 1000}] for some reason, it is not working, and I cannot figure out why... With that command I will want to plot A[t], for t->{0,1000}, and considering that A0->1 if first<t<last, and A0->0 if t<first or t>last. That way, A[t] should be higher if first<t<last. Can you guys please give me some tips? Thanks
- Follow-Ups:
- Re: Using "If" and "NDSolve" together
- From: DrMajorBob <btreat1@austin.rr.com>
- Re: Using "If" and "NDSolve" together