Ksa Guy نشر 4 ديسمبر 2020 أرسل تقرير مشاركة نشر 4 ديسمبر 2020 (معدل) Write a MATLAB Function calculate the factorial of any number. تم التعديل في 4 ديسمبر 2020 بواسطة Wael Aljamal توضيح السؤال 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 Wael Aljamal نشر 4 ديسمبر 2020 أرسل تقرير مشاركة نشر 4 ديسمبر 2020 مرحبا، إن حساب العاملي لعدد ما هو ناتج الجداء المتراكم للأعداد من 1 حتى العدد نفسه لنفرض أنه n يمكننا حسابها بالستخدام حلقة واحد مع متغير نخزن فيه الجداء التراكمي.. function result = Factorial(n) factorial=1; // قيمة بدائية للناتج for i=1:1:n // حلقة factorial=factorial*i; // جداء تراكمي حيث أن القيمة المحسوبة هي القدية ضرب العدد الحالي و نخزن الناتج الجديد مكان القيدم end اسم الدالة Factorial نحفظها في ملف باسم Factorial.m نعيد النتيجة مخزنة في المتحول factorial بالتوفيق اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 سمير عبود نشر 4 ديسمبر 2020 أرسل تقرير مشاركة نشر 4 ديسمبر 2020 مرحباً بك، بإمكانك أيضاً إستخدام الطريقة التعاودية فكما تعلم أن: n! = n * (n - 1)! و سيكون البرنامج بهذا الشكل: fprintf('%d! = %d\n', 6, fact(6)); % output: 6! = 720 function x = fact(n) if n<=1 % شرط التوقف x = 1; % نُعيد 1 else x = n * fact(n-1) ; % الدالة تُنادي على نفسها end بإمكانك تجربة البرنامج من خلال هذا الرابط: هنا ثم إضغط Run شرح: بما أن n = 6 فعند دخول الدالة (fact(6: فإن الشرط لن يتحقق و بالتالي سيتم تنفيذ جزء و إلا و بالتالي (x = 6 * fact(5 و هنا سيتم إستدعاء الدالة fact ثانيةً: 5 لن يُحقق الشرط و بالتالي سيتم إرجاع fact(4) * 5 و بالتالي سيُصبح 6 * 5 * (fact(4 و هكذا إلى أن نصل إلى 1 الذي يُحقق الشرط و هنُا سيتم إرجاع 1 و بالتالي x سيُصبح 6 * 5 * 4 * 3 * 2 * 1 اي: x = 6 * 5 * 4 * 3 * 2 * 1 = 720 و هكذا بالنسبة لأي عدد آخر، بالتوفيق. 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
Ksa Guy
Write a MATLAB Function calculate the factorial of any number.
تم التعديل في بواسطة Wael Aljamalتوضيح السؤال
رابط هذا التعليق
شارك على الشبكات الإجتماعية
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.