Put a matrix back to zeros (looking for an elegant solution)
1 回表示 (過去 30 日間)
古いコメントを表示
Hello,
I have one matrix that is generated withe zeros:
A=zeros(5,4);
And, during the cycle matrix A get different values to make some math. I want that in the end of the cycle the matrix A come back to is original values so it can start it all over. Is there any elegant solution or should i just use the same code that used to initialize the matrix?
0 件のコメント
採用された回答
Walter Roberson
2012 年 12 月 26 日
A(:) = 0;
9 件のコメント
Walter Roberson
2012 年 12 月 27 日
Now that I have turned off the processes using 7.1 of my 8 CPUs, I get much more reproducible results. Times still overlap, but in my test, A(:)=0 tends to be lower, and A=A-A; tends to be lower still. Maximum variability between all the possibilities was 0.305 (A-A) to 0.319 (zeros(2000,2000)). Not even close to 50%. (This for a simplified version without the rand())
Walter Roberson
2012 年 12 月 27 日
R2012a on MacBook Pro, OS-X Lion, i7 CPUs, the A(:)=0 consistently tests slightly faster when I use Sean's code, not slower at all.
Sean, did you forget to turn off your disk defragger while you were testing? :)
その他の回答 (1 件)
Sean de Wolski
2012 年 12 月 26 日
That's what I would do. zeros is the most elegant want to create zeros :)
2 件のコメント
Sean de Wolski
2012 年 12 月 26 日
You could write clean() to do this if you wanted, considerably less elegant though...
参考
カテゴリ
Help Center および File Exchange で Whos についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!