Increase the precision of the finding roots
    5 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
    Atta Oveisi
 le 17 Nov 2011
  
    
    
    
    
    Commenté : Walter Roberson
      
      
 le 21 Nov 2018
            Hi I have written a m file in which I'm trying to find ROOTs of a polynomial of of 6'th degree.I do this in a cycle using "do" because a parameter in the coefficients of the polynomial have to change in each step and the ROOTs should be calculated and saved for further mathmatical calculations. The problem is that in this exact case of mine the real part of each root is very small so that matlab ignores them in some steps and doesnt ignore in other cases(by cases I mean change of that parameter).and this cause the results to oscillate.I know that this real part despite it's smallness is'nt zero. HOW CAN I INCREASE THE PRECISION IN THIS EXACT CASE? thanks for your attention.
0 commentaires
Réponse acceptée
  Walter Roberson
      
      
 le 17 Nov 2011
        If the function uses its own precision, then we would need to see the function in order to see how to increase the precision. There is not just one method for doing extended precision calculations.
If you have access to the symbolic toolbox, consider using that for the calculations.
Note: in any finite precision calculation scheme, there are calculations that will oscillate in the manner you describe.
4 commentaires
  Dima
 le 21 Nov 2018
				Try 
roots(conv(conv([1 -2 1],[1 -2 1]),[1 -2 1]))
There is still a problem with multiple roots.
  Walter Roberson
      
      
 le 21 Nov 2018
				You are correct that roots does not do a good job on that . solve(poly2sym()) of the vector produces exact solutions though  .
Plus de réponses (1)
  Andrew Newell
      
 le 17 Nov 2011
        3 commentaires
  Andrew Newell
      
 le 17 Nov 2011
				I'm just saying that if you don't have any compelling reason to write the m file yourself, you'd be better off using the MATLAB function.
Voir également
Catégories
				En savoir plus sur Number Theory dans Help Center et File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



