How do I convert the weird magnitudes in the results to zero ?

1 visualización (últimos 30 días)
JMS
JMS el 6 de Mayo de 2014
Editada: Mischa Kim el 6 de Mayo de 2014
Hi,
When I run the below program, I got some "NaN" in the results. So, I want to convert those "NaN" to be "Zeros" and I think the way to do it is using the for-loop but I am not sure how to do it due to the meshgrid, any idea please?
"
[x,y] = meshgrid(-5: .125: 5, -5: .125: 5);
x1 = -1;
y1 = 0;
V_x1 = ((y-y1)./((x-x1).^2+(y-y1).^2));
V_x1 = V_x1 (:)
fid = fopen('outputData.txt','wt');
fprintf(fid,'%.8f\n',V_x1);
fclose(fid);
"

Respuestas (1)

Mischa Kim
Mischa Kim el 6 de Mayo de 2014
Editada: Mischa Kim el 6 de Mayo de 2014
JMS, use something like
data = [1 2 NaN; 3 NaN 4];
data(isnan(data)) = 0;
  3 comentarios
Mischa Kim
Mischa Kim el 6 de Mayo de 2014
Editada: Mischa Kim el 6 de Mayo de 2014
Not quite sure I understand...
data = randi(2,10^1) % create 10-by-10 with 1s and 2s
data(data==2) = NaN % replace 2s by NaNs
tic
data(isnan(data)) = 0 % replace NaNs by 0s
toc % ...computation time
This approach will also work for larger matrices.
Try increasing the number of elements to 10^2 or 10^3 and don't forget to add semi-colons for larger matrices.
JMS
JMS el 6 de Mayo de 2014
Now it does work like
find_NaN = find(isnan(V_x1))
ones = (find_NaN)
V_x1(ones) = 0;
Thanks Mischa Kim!

Iniciar sesión para comentar.

Categorías

Más información sobre Matrix Indexing 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!

Translated by