what is wrong with my code?

3 views (last 30 days)
JJ
JJ on 28 Apr 2021
Edited: Jan on 28 Apr 2021
t=86400;
v=10.^-5;
D=10.^-7;
x=0:0.01:2;
%Calcuate the concentration in ( mol/l)
conc=(1./sqrt(4*pi*D*t)*exp.(-1*((x-v*t).^2./4*D)));

Accepted Answer

Jan
Jan on 28 Apr 2021
Edited: Jan on 28 Apr 2021
conc=(1./sqrt(4*pi*D*t)*exp.(-1*((x-v*t).^2./4*D)));
% ^
This is interpreted as "exp" beeing a struct and "(-1*((x-v*t).^2./4*D)))" is the dynamic fieldname.
Such typos are more obvious if you use spaces:
conc = 1 ./ sqrt(4 * pi * D * t) * exp(-D * (x - v * t) .^ 2 ./ 4);
The spaces avoid another ambiguity also:
a.^2./x
% Does this mean:
a .^ 2.0 / x
% or:
a .^ 2 ./ x
Although the Matlab's interpreters have strict and unique rules for these cases, a human reader can be confused.

More Answers (1)

DGM
DGM on 28 Apr 2021
Edited: DGM on 28 Apr 2021
Don't need a dot in exp()
conc=(1./sqrt(4*pi*D*t)*exp(-1*((x-v*t).^2./4*D)));
This is no comment on the correctness of any math, though.

Categories

Find more on MATLAB Parallel Server in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!