Array indices must be positive integers or logical values.

1 view (last 30 days)
keep getting title error message with this code in MATLAB.
a=exp(-1);
o=0.009931621960609;
x2=-2.5:0.1:9.5;
y2=0.5*exp(-a(x2-(0.5*o^2*a)))*(1+erf((x2-o^2*a)/sqrt(2)*o));
o is standard dev of data, a is placeholder value for decay constant.

Accepted Answer

VBBV
VBBV on 10 Dec 2020
%true
a=exp(-1);
o=0.009931621960609;
x2=-2.5:0.1:9.5;
y2=0.5*exp(-a*(x2-(0.5*o^2*a))).*(1+erf((x2-o^2*a)/sqrt(2)*o));
Use element wise matrix multiplication and operation as above

More Answers (1)

Théophane Dimier
Théophane Dimier on 10 Dec 2020
you may have forgot a multipkliication sign:
y2=0.5*exp(-a*(x2-(0.5*o^2*a)))*(1+erf((x2-o^2*a)/sqrt(2)*o));
|
here
Matlab was then understanding that you wanted to access a element of a as if it was an array.

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!