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?

 采纳的回答

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 个评论

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?
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).
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 个)

类别

帮助中心File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by