Trying to do mesh in MatLab but get NaN ?
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I am trying to execute the following code:
T = 0:.1:12;
e = -6:.1:6;
[Ti,ei] = meshgrid(T,e);
Qi = 1 + exp(-ei/Ti);
However, Qi is giving me "NaN" in every single entry. Is there any way to fix that? Ti & ei can both be computed, but it does not seem to work when you do ei/Ti.
1 comentario
Walter Roberson
el 12 de Ag. de 2012
Please retag this this this question; http://www.mathworks.co.uk/matlabcentral/answers/43073-a-guide-to-tags
Respuesta aceptada
Más respuestas (1)
Star Strider
el 1 de Ag. de 2012
The way you have the ‘T’ and ‘e’ vectors defined, ‘T’ and ‘e’ will both be zero at some point. Where (-ei./Ti) = (0/0) you'll get NaN. Everything calculated from a vector or matrix with even one NaN value will generate NaN values for all of them. (This is apparently a standard.) The easiest solution is to redefine:
e = -6 : 0.11 : 6;
or
e = -6 : 0.09 : 6;
or something similar to prevent your ‘e’ vector becoming zero anywhere.
1 comentario
Walter Roberson
el 1 de Ag. de 2012
Only positions whose value depend upon a term that is NaN, will become NaN.
The real problem in the code is that "ei' and "Ti" are vectors, and ei/Ti is a matrix right divide operation rather than an element-wise operation ei./Ti
Ver también
Categorías
Más información sobre Logical en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!