Ksa Guy نشر 4 ديسمبر 2020 أرسل تقرير نشر 4 ديسمبر 2020 (معدل) Write a MATLAB Function calculate the factorial of any number. تم التعديل في 4 ديسمبر 2020 بواسطة Wael Aljamal توضيح السؤال 1 اقتباس
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 بالتوفيق اقتباس
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 اقتباس
السؤال
Ksa Guy
Write a MATLAB Function calculate the factorial of any number.
تم التعديل في بواسطة Wael Aljamalتوضيح السؤال
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.