Hello! I would like to know what is the difference between initializing an array using the zeros array and nan array in matlab? is there any advantages of using one of them A or B? Thank you!
A= zeros (100,100); B = nan (100,100);
No difference in theory. I frequently use NaNs because that way, if I am doing something, and then want to verify I have filled the entire array, NaNs would be easier to spot.
zeros seems to be faster, and consistently so. This is certainly due to the way they are implemented internally.
timeit(@() zeros(1000)) ans = 0.0030123
timeit(@() nan(1000)) ans = 0.0044756
So, is the time nearly inconsequential? Yes.
Is the difference significant? Yes. NaN takes roughly 50% more time than zeros.
Do I care, unless I have a vast number of calls to either of these operations? NO. And since I try NEVER to write code that has a vast number of calls to any such operator, there is little to worry about for me.