Converting a fraction into a floating number

15 Ansichten (letzte 30 Tage)
Samuel Généreux
Samuel Généreux am 30 Jan. 2018
Bearbeitet: Walter Roberson am 15 Dez. 2023
Hi, I want to simply convert a fraction into a float. When I checked with the help, it seems really simple. To convert 2/5 into a float, it seems like I just need to type float(2/5). But, when I do that, I have for response :Error using float (line 46) The input argument to float was not a supported type. The only recognized input character vectors are 'single' and 'double'. The input type was 'double'. Can someone explain me that?
  5 Kommentare
Walter Roberson
Walter Roberson am 30 Jan. 2018
John: float() is a legacy Simulink Fixed Point function. https://www.mathworks.com/help/simulink/slref/float.html
John D'Errico
John D'Errico am 30 Jan. 2018
Bearbeitet: Walter Roberson am 15 Dez. 2023
No. The examples given by Samuel are NOT consistent with the use of float as it is seen in the Simulink docs. However, they ARE consistent with the examples shown in the MuPAD documentation. That is why I talked about MuPAD. In fact, if I read the examples shown for the MuPAD float, we find very coincidentally these examples:
float(17), float(PI/7 + I/4), float(4^(1/3) + sin(7))
As copied directly out of this link:

Melden Sie sich an, um zu kommentieren.

Antworten (3)

John D'Errico
John D'Errico am 30 Jan. 2018
No. There is no need to use float.
x = 2/5
x =
0.4
whos x
Name Size Bytes Class Attributes
x 1x1 8 double
x is automatically a floating point number, of class double.

Cyrus Azizzadeh
Cyrus Azizzadeh am 22 Dez. 2021
If I have an equation like (256753367864*t)/(46897532469) How can I convert that to float?
  6 Kommentare
Walter Roberson
Walter Roberson am 23 Dez. 2021
This is an approach to get some readable representation of the result, not to get the result in MATLAB form. The result will be in the internal MuPAD language
Cyrus Azizzadeh
Cyrus Azizzadeh am 24 Dez. 2021

Thanks a lot. I'll test that

Melden Sie sich an, um zu kommentieren.


Rishab
Rishab am 15 Dez. 2023
just use the double() function

Community Treasure Hunt

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

Start Hunting!

Translated by