How do I convert the weird magnitudes in the results to zero ?
1 回表示 (過去 30 日間)
古いコメントを表示
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);
"
0 件のコメント
回答 (1 件)
Mischa Kim
2014 年 5 月 6 日
編集済み: Mischa Kim
2014 年 5 月 6 日
JMS, use something like
data = [1 2 NaN; 3 NaN 4];
data(isnan(data)) = 0;
3 件のコメント
Mischa Kim
2014 年 5 月 6 日
編集済み: Mischa Kim
2014 年 5 月 6 日
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.
参考
カテゴリ
Help Center および File Exchange で Data Type Conversion についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!