MATLAB之single函數


 MATLAB之single函數

 

MATLAB之single函數:

一般來說,大矩陣計算,如果用single類型的數據能節省一半的內存空間,double數據類型占8個字節,single類型占4個字節,matlab在內部執行的時候是默認轉換成double類型進行運算,據說可以從菜單里面改設置變成默認single 未嘗試過,matlab里面有個命令可以轉換數據格式,那就是:

single函數

可以執行以下語句看一下b是什么:

 

	b=1;
	whos b
	b=single(b);
	whos b
你可以看到b從默認的double變成了single
也可以嘗試如下命令來測試運算讀速度:
	a=rand(1,100);
	b=rand(1,100);
	c=rand(1,100);
	a1=single(a);
	b1=single(b);
	tic
	for i=1:100
  	 c=a.*b;
	end

	toc
	tic
	for i=1:100
    	 c=a1.*b1;
	end
	toc

結果:

 

Elapsed time is 0.081662 seconds.
Elapsed time is 0.002880 seconds.

 

說明single的運算速度的確是快很多,用時約為原來的1/5

 

 

 

此外 simulink里面有強制數據類型轉換 也許可以提高simulink的速度(未測試)

Tips

1.    Matlab中如果我們使用循環的話,如果循環體內的程序不含有single等類型,而且使用的函數都是matlab的build-in function的話,matlab會自動幫助你優化for循環。

2.    使用ctrl + i 可以對選中的代碼區域自動排版。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM