نمایش نتایج 1 تا 3 از 3

نام تاپیک: مشکل عجیب تغییر نتایج در هنگام استفاده از سوئیچ- کیس

  1. #1

    Question مشکل عجیب تغییر نتایج در هنگام استفاده از سوئیچ- کیس

    سلام ، امیدوارم حال همگی دوستان (بازدیدکنندگان این مطلب) خوب باشه.
    من یه سوالی داشتم ، چاره جز ارسال تاپیک جدید ندیدم، چرا که هرچی گشتم موضوع مرتبط پیدا نکردم تا یا به جوابم برسم یا سوالم رو در یه تاپیک از پیش موجود مطرح کنم.
    و اما سوال من:
    من الگوریتم دسته ماهی های مصنوعی (AFSA) رو در متلب پیاده کردم ، الگوریتم اجرا میشه ، همه چی حتی نتایج خروجی اوکی هست.
    الگوریتم روی یک سری توابع برازش یا fitness function کار میکنه. پس مجموعه ای از توابع برازش رو در اختیار داریم که برنامه فقط در هر بار اجراء تنها میتونه یکی از اونها رو بهینه بکنه.
    حالا مشکل کجاست...
    من همه توابع رو در قالب یک تابع به اسم fitness جمع آوری کردم ، اما مثلن در هر لحظه n-1 تابع رو کامنت کرده و در هر بار اجراء برنامه، فقط یک تابع و اون هم تابعی که به صورت کامنت نیست، بهینه میشه.
    حالا اومدم گفتم با دستور سوئیچ کیس، کاری کنم که کاربر انتخاب کنه چه تابعی رو میخواد که بهینه بشه.
    با استفاده از دستور سوئیچ کیس این کار رو کردم ، باز هم همه چی اوکی هست، ولی متأسفانه نتایجی که برنامه بهم میده، کلّن با اون چیزی که باید باشه مطابقت نداره!
    فرضن اگر بهترین پاسخ نهایی الگوریتم اصلی در حالت minimization برابر با 0.4567 هستش ، در حالت استفاده از سوئیچ کیس ، بهترین پاسخ نهایی برابر با 1.7654 هستش!
    میخوام بدونم چرا استفاده از دستور سوئیچ کیس، تأثیر منفی روی نتیجه های من گذاشت؟!
    درحالیکه اصلن با محاسبات برنامه ی من کاری نداره ؟ نه مشکلی در کدنویسی یا سینتکس یا منطق استفاده از سوئیچ-کیس هست و نه واقعن هیچ مشکل دیگه ای، البته به زعم من.

    سپاسگزار خواهم بود اگر مشکل من رو حل کنید یا راهنمایی کنید که بتونم این مشکل رو حل کنم.
    تشکر فراوان

  2. #2

    نقل قول: مشکل عجیب تغییر نتایج در هنگام استفاده از سوئیچ- کیس

    سلام
    شما می تونید به جای کامنت کردن از این روش استفاده کنید یک سلول درست کنید از نام تابعها و سپس هر دفعه هر کدوم را اجرا کنید
    مثلا اینجا سه تا تابع اگر داشته باشیم

    function [X, Y] = func1 (a, b)
    X = a + b;
    Y = a * b;
    end
    function [X, Y] = func2 (a, b)
    X = a - b;
    Y = a / b;
    end
    function [X, Y] = func3 (a, b)
    X = a ^ b;
    Y = a + b;
    end
    myfunc = {@func1, @func2, @func3};

    for i =1:numel(myfunc)
    [x y] = myfunc{i}(3, 5)
    end


    یا اینجور با feval هم میشه

    for i =1:numel(myfunc)
    [x y] = feval(myfunc{i}, 3, 5)
    end

    این مطالب در راهنمای متلب هم گفته شده
    http://www.mathworks.com/help/matlab/matlab_prog/string-evaluation.html

  3. #3

    نقل قول: مشکل عجیب تغییر نتایج در هنگام استفاده از سوئیچ- کیس

    مرسی که محبت کردید و پاسخ گفتید.
    اجازه میخوام تا تست کنم و نتیجه رو خدمت شما ابلاغ کنم.
    سپاس فراوان.

تاپیک های مشابه

  1. سوال: یه مشکل عجیب در captcha در هنگام استفاده در سرور
    نوشته شده توسط dehqhani در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: یک شنبه 12 مرداد 1393, 20:50 عصر
  2. سوال: اشکال در تغییر محتوای رکورد هنگام استفاده از RMS ؟؟؟
    نوشته شده توسط mahdi68 در بخش Java ME : نگارش میکرو جاوا
    پاسخ: 5
    آخرین پست: جمعه 02 بهمن 1388, 18:32 عصر
  3. مشکل در On delete Trigger هنگام استفاده از Cascade Delete
    نوشته شده توسط ardvisoor در بخش SQL Server
    پاسخ: 1
    آخرین پست: یک شنبه 15 آذر 1388, 16:22 عصر
  4. پاسخ: 0
    آخرین پست: چهارشنبه 15 مهر 1388, 03:06 صبح
  5. سوال: مشکل pagination در gridview در هنگام استفاده از store procedure
    نوشته شده توسط saeed_Z_F در بخش ASP.NET Web Forms
    پاسخ: 12
    آخرین پست: چهارشنبه 01 آبان 1387, 12:02 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •