error in large integers
    5 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
I am currently working with fractions involving 10digit integers.
for example, typing 1168347147/863334886 into MATLAB produces the answer 4045/2989.
But I want to store the fractions exactly. How do I go about doing this?
Many thanks.
0 Commenti
Risposte (2)
  Aldin
      
 il 21 Mar 2012
        Hi,
use vpa functon
for example:
vpa('4045/2989',100) ---> for hundred digits
5 Commenti
  Walter Roberson
      
      
 il 22 Mar 2012
        If you have the symbolic math toolbox, then
sym('1168347147/863334886')
Note that the result will be a symbolic number, not a double precision number.
3 Commenti
  Walter Roberson
      
      
 il 22 Mar 2012
				Yes, if you do have the symbolic toolbox then you would be able to use symbolic numbers in further calculations; the results would be symbolic numbers.
There might be places along the way where you needed to convert the symbolic numbers to double precision using double(), as there are MATLAB routines that cannot work with symbolic numbers.
  Aldin
      
 il 22 Mar 2012
				Hello sir Walter,
Can you please explain:
>> sym('1168347147/863334886')
ans =
1168347147/863334886
>> ans * 1,4
ans =
8178430029/4316674430
--------------------------
But if i check last result with 'vpa' function i got this:
>> vpa('863334886*1,4) 
ans = 1208668840.4
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


