reshape0, reshaping with padding or truncating

A c-mex routine for reshaping with padding or truncating
1,3K Descargas
Actualizado 11 feb 2008

Sin licencia

Reshapes an array like the MATLAB intrinsic reshape function. But reshape0 does not require that the total number of elements must remain the same. If the new array is larger, then it will be zero or blank padded. If the new array is smaller, then it will be a truncated version of the original. char arrays are padded with blanks, cell arrays are padded with empty double arrays, logical arrays are padded with false (zeros), and all other numeric arrays are padded with 0's. Structures cannot be padded or truncated (this feature is not yet implemented for the struct class ... maybe in a future version).

reshape0 is not as efficient as reshape when there is no truncating or padding involved because reshape0 will generally copy data whereas reshape will do a lazy copy.

Building (one-time only):

>> mex -setup
(then follow instructions to select a C / C++ compiler of your choice)
>> mex reshape0.c

That's it! Now you are ready to use reshape0.

In the unlikely case you get this error message:

bit16 define symbol is not a 16-bit integer

You will need to change the definition of the bit16 symbol in the reshape0.c file. You need to ensure that this is a 16-bit integer type for your system so that the MATLAB char class (which is 16 bits) will work properly. You might have to change the word "short" to something like int16_t or uint16_t to get it to work. Contact me and I will help.

Citar como

James Tursa (2024). reshape0, reshaping with padding or truncating (https://www.mathworks.com/matlabcentral/fileexchange/18684-reshape0-reshaping-with-padding-or-truncating), MATLAB Central File Exchange. Recuperado .

Compatibilidad con la versión de MATLAB
Se creó con R2006a
Compatible con cualquier versión
Compatibilidad con las plataformas
Windows macOS Linux
Categorías
Más información sobre Resizing and Reshaping Matrices en Help Center y MATLAB Answers.

Community Treasure Hunt

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

Start Hunting!
Versión Publicado Notas de la versión
1.0.0.0