How to Set a Variable in Matlab as an Integer Only?

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
2 replies · 5K views
ecastro
Messages
249
Reaction score
8
Is there a function in Matlab that presets the value of a variable as an integer only? For example I will set the variable 'y' as an integer at the very beginning of the code, and whenever the variable gains a new value it automatically returns an integer value.

Thank you in advance.
 
Physics news on Phys.org
There are several functions int16() and int32() are two examples:

Matlab:
a=int32(10)    // sets a = 32-bit integer value of 10

However, I think a second assignment to variable 'a' can change the datatype:

Matlab:
a=3.1415         // a is now set to a floating point value

Here's a more complete list of MATLAB functions for datatype specific values:

https://www.mathworks.com/help/matlab/numeric-types.html

I've tested the datatype changing in FREEMAT and know that the variable's datatype can be changed by another assignment so basically I don't think you can restrict it from being changed. FREEMAT is an open source clone of the core MATLAB functionality.

https://sourceforge.net/projects/freemat/

In contrast, Julia can lock down a variable to a specific datatype and that is the primary reason why it runs significantly faster than MATLAB as it can dispense with datatype checks each time it uses a variable. Julia (julialang.org) is a recent numerical programming language with many similarities to MATLAB but is open source and gaining traction in data sciences world.

https://en.wikibooks.org/wiki/Introducing_Julia/Types
 
Last edited:
Thank you for this. I guess I just have to use those two functions every time the variable is re-assigned.