how to enter exponential multiplication with a time dependent array

5 views (last 30 days)
Given fa(t)=10*e^-5t and a time array of t=0:0.06:3 how do I enter this?
I have tried fa(t)=10*exp(-5*t) and I get an error message saying that the "Array indices must be positive intergers or logical values"

Accepted Answer

Walter Roberson
Walter Roberson on 10 Mar 2024
You need to decide whether you are doing array indexing, or are creating a formula.
t=0:0.06:3;
fa(t)=10*exp(-5*t)
is interpreted as array indexing. Using () indexing on the left hand side of an assignment is almost always interpreted as array indexing.
The formula form would be
t=0:0.06:3;
fa = @(t) 10*exp(-5*t);
plot(t, fa(t))
The major exception is if you are using a symbolic variable, then
syms t
fa(t)=10*exp(-5*t)
creates a formula, which you then apply like
T=0:0.06:3;
plot(T, fa(T))
But easiest is usually what Alexander shows,
t=0:0.06:3;
fa=10*exp(-5*t)
plot(t,fa)
which is pure expression form.

More Answers (1)

Alexander
Alexander on 10 Mar 2024
Edited: Alexander on 10 Mar 2024
Do you mean something like that:
t=0:0.06:3;
fa=10*exp(-5*t)
plot(t,fa)

Products


Release

R2023b

Community Treasure Hunt

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

Start Hunting!