Can someone please help me in writing a function which takes any matrix A as an input, and finds (A mod 29).
Considering that elements of A are real numbers and the outputs have to be integers.
For example (1/2 mod 29 = 15) .. (-3/2 mod 29 = 13) in https://planetcalc.com/8326/
I need this function for just a small part in my college project and actually I don't understand the math behind it.
Thank you

 Réponse acceptée

Walter Roberson
Walter Roberson le 3 Déc 2019

0 votes

You will have problems with this due to the limited precision available to real numbers. For example, 1/3 and 1/10 cannot be exactly represented in binary floating point arithmetic.
A first step would be converting the floating point number into a rational, but doing that is risky. How, for example, do you know for sure that 0.52941176470588235947190014485386200249195098876953125 is intended as 9/17 and not as 4768517252509937/9007199254740992 ?
My recommendation would be not to do what you are trying to do. You would be better off using a pair of rationals, such as [-3, 2] or [9, 17] instead of -1.5 and 0.52941176470588235947190014485386200249195098876953125

1 commentaire

Fatma Alnabrisi
Fatma Alnabrisi le 4 Déc 2019
My matrix A actually goes through several calculations before I need to find (A mod 29)
so, how can I force the elements of A to be rational numbers instead?

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Programming dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by