numerical integration dimension error

ok now Im getting another type of error
X = 0:1:100; Y = X.^(-1/2)*exp(-0.5*(0.00009996^2/X+34.3713^2*X)); Z =trapz(X,Y)
??? Error using ==> mldivide
Matrix dimensions must agree.
Whats wrong here? and how can I numerically integrate Y?

 Akzeptierte Antwort

Matt Fig
Matt Fig am 2 Mär. 2011

0 Stimmen

You need a dot before every ^, * and / when working with vectors.
Y = X.^(-1/2).*exp(-0.5*(0.00009996^2./X+34.3713^2*X));

3 Kommentare

john birt
john birt am 2 Mär. 2011
what do you mean?
X = 0:1:100; Y = X.^(-1/2).*exp(-0.5.*(0.00009996.^2./X+34.3713.^2.*X)); Z = trapz(X,Y)
is that correct as it produces Z = NAN which I was not expecting?
Matt Fig
Matt Fig am 2 Mär. 2011
You may not be expecting NAN, but that is how to make Y from X. Look at the exponent, it has values from -590 to -Inf. What do you think e^-590 is? ZERO (for all intents and purposes).
john birt
john birt am 2 Mär. 2011
Thanks for your wisdom, I can get an answer if I change it to something like
X = 0.001:0.001:0.003; Y = X.^(-1/2).*exp(-0.5*(0.00009996^2./X+34.3713^2*X)); Z = trapz(X,Y)
Z = 0.0172
thanks again for your comments (dumb matlab coders like me need help!)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by