كود ماتلاب للنسبة الذهبية الكسر المستمر
-
20-12-2019 - |
سؤال
أحاول كتابة وظيفة ماتلاب التي تحسب عدد المصطلحات ، م ، فإنه يأخذ الكسر الذهبي للوصول إلى أرقام ن من الدقة.هنا هو ما لدي حتى الآن ، ولكن أظل الحصول على إخراج 0.
phi = (1+sqrt(5))/2;
p=1;
p=[1+1/p];
LoopCounter = 0;
while (phi-p)>10^(-n)
p=[1+1/p];
LoopCounter = LoopCounter + 1;
end
m=LoopCounter;
m
أعتقد أن هذا سؤال شائع لأولئك الذين يدرسون نظرية الأعداد أو بدأوا للتو في تعلم ماتلاب.أي نصيحة?شكراً!
المحلول
ال while
الشرط مفقود abs
.يجب أن يكون
while abs(phi-p)>10^(-n)
مع التعليمات البرمجية الخاصة بك كما هو عليه ، والقيمة الأولية لل p
(أي 2) أكبر من phi
, ، لذلك phi-p
هو سلبي و while
لم يتم إدخال حلقة.لهذا السبب تحصل على m
يساوي 0
.
لا تنتمي إلى StackOverflow