آموزش متلب (MATLAB)
۵۴۳ آموزش
نمایش دسته بندی ها (۵۴۳ آموزش)

جمع زدن مقادیر عددی یک فرمول شامل سیگما، با حلقه های for در متلب

در مباحثی دیگر از سایت کلیدستان، دستوراتی را برای جمع های عددی و جمع های سمبلیک معرفی کردیم، اما در برخی مواقع، نمی توان از این دستورات استفاده نمود و باید جمع به کار رفته در یک فرمول را با استفاده از حلقه های for تو در تو، به دست بیاوریم.

در ادامه، با یک مثال، این مورد را واضح تر شرح می دهیم.

مثال

فرض کنید بخواهیم حاصل جمع زیر را به دست آوریم :

جمع زدن مقادیر عددی یک فرمول شامل سیگما، با حلقه های for در متلب

علامت زیر سیگما، به معنای ((به ازای تمامی مقادیر m و i و j)) می باشد. همچنین، اطلاعات زیر را داریم :

جمع زدن مقادیر عددی یک فرمول شامل سیگما، با حلقه های for در متلب

اکنون قصد داریم که با توجه به اطلاعات بالا، مقدار C را به دست آوریم. کدهای متلب زیر را می نویسیم :


clear all
close all
clc

A_i_j=[6 5 2 1 9;2 4 8 4 8;7 3 6 1 4;3 2 2 3 7;9 1 5 8 9];
B_m=[9 3 6 8];

C=0;
for mm=1:4
    for ii=1:5
        for jj=1:5
            C=C+B_m(mm)*A_i_j(jj,ii);
        end
    end
end
C

سه خط اول برنامه، برای عدم تداخل برنامه فعلی با برنامه های قبلی اجرا شده در متلب می باشد. دقت کنید که مقدار C را قبل از شروع حلقه های for تو در تو، برابر صفر قرار داده ایم (مقدار اولیه صفر). سپس درون حلقه ها، هر بار نتیجه ضرب برای یکی از حالت های ممکن اندیس ها، با C جمع خواهد شد. در نهایت، مقدار C به دست می آید.

نتیجه :


C =

        3094
نویسنده علیرضا گلمکانی
شماره کلید 155
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 3 3 0
شاهین
۱۳۹۷/۰۷/۲۷
۲۰:۲۸

سلام سایتتون فوق العادست .بی نظیر است چون هرچیزی که میخام داخلشه بدون ابهام

مهدی
۱۳۹۷/۱۱/۲۸
۲۰:۲۹

سلام اگر با نرم افزار مطلب آشنایی دارید میخوام دستوری بنویسم که با input سه عدد اعشاری بگیرد و ضمن نمایش در خروجی، مجموع و میانگین آنها هم در خروجی نمایش بده 

امین
۱۴۰۰/۰۵/۱۹
۱۳:۳۴

با عرض سلام 
ممنونم از شما بابت سایت خیلی خوبتون. من یک سوال داشتم
اگر بخواهیم چندین ورودی را بگیریم؛ مثلا a1 ,a2 ,a3 ,... و مقادیر b1, b2 , b3,.... را بوسیله input بگیریم و بخواهیم که از سیگما استفاده کنیم و تمامی مقادیر بدست آمده را دو به دو با هم ضرب و جمع کنیم باید چه کار کنیم؟
باتشکر

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)