انجمن سایت کلیدستان


رتبه موضوع:
  • 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
سیمپلکس

سیمپلکس

#2
سلام .
کدهای متلب زیر ، ماکزیمم مقدار Z و همچنین x1 و X2 مربوط به این ماکزیمم را پیدا می کند :

کد:
clear all
close all
clc

x1=0:0.1:1000;
x1_length=length(x1);
x2=0:0.1:4;
x2_length=length(x2);

Z=0;
x1_max=0;
x2_max=0;
Z_max=0;
for nn=1:x1_length
    for mm=1:x2_length
        if (x1(nn)+x2(mm)<=10 && x1(nn)-x2(mm)<=8)
            Z=4*x1(nn)-x2(mm);
            if (Z>Z_max)
                Z_max=Z;
                x1_max=x1(nn);
                x2_max=x2(mm);
            end
        end
    end
end
x1_max
x2_max
Z_max

در واقع برای x1 و x2 بازه تعریف کردیم و سپس در این بازه ها ، نمونه هایی رو برای عبارتی که باید ماکزیمم شود به کار برده ایم تا ببینیم مقدار حاصل چقدر می شود . در هر تکرار حلقه ، اگر مقدار z بزرگتر از مقدار ماکزیمم قبلی باشد آنگاه آن را در متغیر z_max ذخیره می کنیم تا در انتهای برنامه نمایش داده شود .
دستور length برای محاسبه طول یک بردار به کار می رود . فاصله بین نمونه ها را برابر 0.1 تعیین کرده ایم که می توانید آن را تغییر دهید .
بازه ها برای x1 و x2 از روی شرایط ذکر شده تعریف می شود ، فقط حد بالای بازه x1 را نداریم که به دلخواه عدد بزرگ 1000 را انتخاب کرده ایم .
نتیجه اجرای کد متلب به صورت زیر می باشد :

کد:
x1_max =

     9


x2_max =

     1


Z_max =

    35

که در آن ، Z_max نشان دهنده مقدار ماکزیمم Z است و x1_max و x2_max ، مقادیری از x1 و x2 می باشند که Z ماکزیمم را به وجود می آورند . coffee
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط mohsen


پیام‌های این موضوع
سیمپلکس - توسط mohsen - ۱۳۹۲/۰۱/۱۱, ۱۰:۱۴ ب.ظ
RE: سیمپلکس - توسط admin - ۱۳۹۲/۰۱/۱۱, ۱۱:۳۵ ب.ظ
RE: سیمپلکس - توسط mohsen - ۱۳۹۲/۰۱/۱۲, ۱۲:۰۶ ب.ظ
RE: سیمپلکس - توسط admin - ۱۳۹۲/۰۱/۱۳, ۱۰:۱۶ ق.ظ
RE: سیمپلکس - توسط mohsen - ۱۳۹۲/۰۱/۱۵, ۱۰:۵۴ ق.ظ

پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان