numerical integration dimension error

1 次查看(过去 30 天)
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?

采纳的回答

Matt Fig
Matt Fig 2011-3-2
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 个评论
Matt Fig
Matt Fig 2011-3-2
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 2011-3-2
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!)

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Particle & Nuclear Physics 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by