Declaring types in MATLAB

2 views (last 30 days)
When preallocating, is it possible to declare types?
If so, how can I do it? Is it worthy in terms of efficiency?

Accepted Answer

Stephen23
Stephen23 on 16 May 2020
Edited: Stephen23 on 16 May 2020
"When preallocating, is it possible to declare types? "
When preallocating you can select any suitable data type, e.g.:
A = zeros(2,3, 'uint8')
Read the zeros, ones, nan documentation to know more.
"Is it worthy in terms of efficiency?"
In most cases preallocation is more efficient than not preallocating.
  4 Comments
Fernando Riveiro Formoso
Fernando Riveiro Formoso on 17 May 2020
Since preallocating improves efficiency before a for loop that fills a matrix with numbers, I was just wondering whether declaring the type of the numbers we are going to fill the matrix with could also improve efficiency... but seems from your answer it is not the case in general. Thank you very much for your answers!
Walter Roberson
Walter Roberson on 18 May 2020
datatype can make a big difference, but which is faster can depend upon the processor. There are a range of processors for which single is always faster than double, but then there can be oddities like double multiplication being faster.
http://nicolas.limare.net/pro/notes/2014/12/12_arit_speed/

Sign in to comment.

More Answers (0)

Tags

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!