I have simple divisions between integers and I always get another integer as the answer. But I want at least three decimal places. I am using MATLAB R2022b

1 visualizzazione (ultimi 30 giorni)
My divisions look like this,
A=B/C;
Both B and C are integers.

Risposta accettata

Les Beckham
Les Beckham il 8 Feb 2023
Modificato: Les Beckham il 10 Feb 2023
How were B and C created?
If they really are integers (e.g., class int32), then that is the expected result. The default type in Matlab is double, however. So, if you didn't explicitly create them as an integer type/class they will be doubles, and you should get fractional results if the numbers aren't evenly divisible. They might display as if they were integers if they are evenly divisible, however. In this case @Sulaymon Eshkabilov's suggestion will allow you to display it differently if you like.
Examples:
B = int32(3);
C = int32(2);
A = B/C % this will be rounded to the nearest integer
A = int32 2
whos % check the type/class of the variables
Name Size Bytes Class Attributes A 1x1 4 int32 B 1x1 4 int32 C 1x1 4 int32 cmdout 1x33 66 char
B = 3;
C = 2;
A = B/C
A = 1.5000
whos % check the type/class of the variables
Name Size Bytes Class Attributes A 1x1 8 double B 1x1 8 double C 1x1 8 double cmdout 1x33 66 char
B = 4;
C = 2;
A = B/C % this will display as if it was an integer but it is really a double floating point number
A = 2
whos % check the type/class of the variables
Name Size Bytes Class Attributes A 1x1 8 double B 1x1 8 double C 1x1 8 double cmdout 1x33 66 char
format bank
A
A =
2.00

Più risposte (1)

Sulaymon Eshkabilov
Sulaymon Eshkabilov il 8 Feb 2023
Use format. E.g.:
B = 1;
C = 5;
A=B/C
A = 0.2000
format short
A
A = 0.2000
format long
A
A =
0.200000000000000
format bank
A
A =
0.20
format rat
A
A =
1/5
format long g
A
A =
0.2

Categorie

Scopri di più su Symbolic Math Toolbox in Help Center e File Exchange

Tag

Prodotti


Release

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by