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)));

 Réponse acceptée

Jan
Jan le 28 Avr 2021
Modifié(e) : Jan le 28 Avr 2021

0 votes

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.

Plus de réponses (1)

DGM
DGM le 28 Avr 2021
Modifié(e) : DGM le 28 Avr 2021

1 vote

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.

Catégories

En savoir plus sur MATLAB Parallel Server dans Centre d'aide et File Exchange

Question posée :

JJ
le 28 Avr 2021

Modifié(e) :

Jan
le 28 Avr 2021

Community Treasure Hunt

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

Start Hunting!

Translated by