زمان کنونی: ۰۶ آذر ۱۴۰۳, ۰۶:۲۸ ق.ظ مهمان گرامی به انجمن مانشت خوش آمدید. برای استفاده از تمامی امکانات انجمن می‌توانید عضو شوید.
گزینه‌های شما (ورودثبت نام)

جایگزین goto در متلب!

ارسال:
۲۱ تیر ۱۳۹۷, ۰۷:۲۵ ب.ظ (آخرین ویرایش در این ارسال: ۲۱ تیر ۱۳۹۷ ۰۷:۳۰ ب.ظ، توسط αɾια.)
Sad جایگزین goto در متلب!
سلام ،چجوری میشه گفت اگه شرط برقرار بود/نبود برو یه سری کارا رو از اول انجام بده(اونقدر تکرار کن) تا شرط برقرار بشه/نشه!
goto که ظاهرا نداریم تو متلب، با break , continue و نوشتن ۱۰تا elseif پشت سرهم جواب نداد..
حتی تبدیل به تابع بازگشتیش کردم ولی بازم نشد Dodgy
هلپ Confused

کد:
for i=1:up
j=randi(x);
if A(j)>=B(i)
// دستورات //
else   //  انقدر جِی رو تولید کن تا شرط برقرار بشه

آدم های کوچک و حقیر با عقده های بزرگ ترسناکند،
زیرا از صدمه زدن به دیگران...
هراسی ندارند!
۰
۰
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
ارسال:
۲۱ تیر ۱۳۹۷, ۰۹:۰۲ ب.ظ
جایگزین goto در متلب!
اگه اشتباه نکنم شما دارید یه ایندکس رندوم برای آرایه A تولید میکنید،‌یه راه حل اینه که یه مرحله پیشین بزارید و ایندکس عناصری که اون شرط براشون برقرار هست رو از قبل محاسبه کنید و تو کدتون استفاده کنید.
۰
۰
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
 سپاس‌گزاری شده توسط: αɾια
ارسال:
۲۱ تیر ۱۳۹۷, ۱۱:۰۸ ب.ظ (آخرین ویرایش در این ارسال: ۲۱ تیر ۱۳۹۷ ۱۱:۰۸ ب.ظ، توسط The BesT.)
جایگزین goto در متلب!
سلام.
اگر شرط اصلا انجام نشد چجوری میخواهید بگید تمام کن حلقه را ؟ که توی یه لوپ نیفته؟
من یکبار مشابه همین کار را میخواستم انجام بدهم ولی چون میدونستم ممکن هست به جواب نرسه ، یک متغیر گذاشتم که شرط را نهایتا تا ۱۰۰۰بار تکرار کند اگر اون کار انجام شد که خوبه اگر نشد دیگه احتمال اونکه رندوم من به جواب میرسید منفی میبود و برای همین حلقه بعد از ۱۰۰۰بار متوقف میکردم. این روش بدردتون میخوره؟
اگر بدرد نمیخوره تا روش دیگری را فکر کنیم شاید بدرد بخوره
۰
۰
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
 سپاس‌گزاری شده توسط: αɾια
ارسال:
۲۲ تیر ۱۳۹۷, ۰۲:۴۷ ق.ظ (آخرین ویرایش در این ارسال: ۲۲ تیر ۱۳۹۷ ۰۲:۴۹ ق.ظ، توسط Behnam‌.)
RE: جایگزین goto در متلب!
(۲۱ تیر ۱۳۹۷ ۰۷:۲۵ ب.ظ)Katerina Petrova نوشته شده توسط:  سلام ،چجوری میشه گفت اگه شرط برقرار بود/نبود برو یه سری کارا رو از اول انجام بده(اونقدر تکرار کن) تا شرط برقرار بشه/نشه!
goto که ظاهرا نداریم تو متلب، با break , continue و نوشتن ۱۰تا elseif پشت سرهم جواب نداد..
حتی تبدیل به تابع بازگشتیش کردم ولی بازم نشد Dodgy
هلپ Confused

کد:
for i=1:up
j=randi(x);
if A(j)>=B(i)
// دستورات //
else   //  انقدر جِی رو تولید کن تا شرط برقرار بشه

اولا
مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.
رو بخونید ببینید چرا نباید از goto استفاده کنید و چرا از زبان‌های ساخت‌یافته حذف شده.
بعدش هم این مشکل‌تون راه‌حل‌های زیادی داره. سعی کنید زیاد اسکریپت‌نویسی کنید تا این جور مسائل ساده براتون مشکل نشه.
منظورتون از "انقدر جِی رو تولید کن تا شرط برقرار بشه" واضح نیست چه شرطی. در حالت کلی یه راهش این هست:
کد:
else while(!condition){
...
}
البته باید حواس‌تون باشه که condition داخل حلقه‌ی while تغییر کنه. ممکنه هیچ وقت تغییر نکنه که میتنید یه counter هم تعریف کنید:
کد:
else while(!condition && i++ < max){
...
}
البته فکر کنم متلب increment قبول نمیکنه و ++ رو باید داخل حلقه بیارید.
اگه شرط‌تون هم این هست که j رو طوری تولید کنه که (A(j از (B(i بزرگتر باشه، اون موقع میتونید اصلا ادغام کنید:
کد:
for i = 1 : up
   j = randi(x)
   while A(j) < B(i)
      j = randi(x)
   end
   دستورات
end
یا
کد:
for i = 1 : up
   while 1 == 1
      j = randi(x)
      if A(j) >= B(i)
         break
      end
   end
   دستورات
end
۳
۰
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
 سپاس‌گزاری شده توسط: αɾια
ارسال:
۲۲ تیر ۱۳۹۷, ۱۰:۵۵ ق.ظ (آخرین ویرایش در این ارسال: ۲۲ تیر ۱۳۹۷ ۱۱:۰۳ ق.ظ، توسط αɾια.)
RE: جایگزین goto در متلب!
(۲۱ تیر ۱۳۹۷ ۰۹:۰۲ ب.ظ)Riemann نوشته شده توسط:  اگه اشتباه نکنم شما دارید یه ایندکس رندوم...
اشتباه کردید Big GrinWink

(۲۱ تیر ۱۳۹۷ ۱۱:۰۸ ب.ظ)The BesT نوشته شده توسط:  سلام.
اگر شرط اصلا انجام نشد چجوری میخواهید بگید تمام کن حلقه را ؟ که توی یه لوپ نیفته؟
سلام ممنون،شرط انجام میشه ولی elseش رو نمیدونستم چجوری بنویسم و وقتی شرط برقرار نبود بدون هیچ عملی میرفت مرحله بعد.

(۲۲ تیر ۱۳۹۷ ۰۲:۴۷ ق.ظ)Behnam‌ نوشته شده توسط:  اولا
مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.
رو بخونید ببینید چرا نباید از goto استفاده کنید و چرا از زبان‌های ساخت‌یافته حذف شده.
بعدش هم این مشکل‌تون راه‌حل‌های زیادی داره. سعی کنید زیاد اسکریپت‌نویسی کنید تا این جور مسائل ساده براتون مشکل نشه.
بله خیلی ساده بود و کلی راه حل ولی چون نوشتنشو بلد نبود کلی if تودرتو نوشتم و گیج شدم.
مرسی با کدی که نوشتین جواب داد.

آدم های کوچک و حقیر با عقده های بزرگ ترسناکند،
زیرا از صدمه زدن به دیگران...
هراسی ندارند!
۰
۰
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
 سپاس‌گزاری شده توسط: The BesT
ارسال:
۲۲ تیر ۱۳۹۷, ۰۳:۵۱ ب.ظ
جایگزین goto در متلب!
(۲۲ تیر ۱۳۹۷ ۱۰:۵۵ ق.ظ)Katerina Petrova نوشته شده توسط:  اشتباه کردید [تصویر:  biggrin.gif][تصویر:  wink.gif]
شرط میبندم که داری اشتباه میکنی Smile

تو مطلب هروقت به این مدل کارا رسیدی بدون داری یه جایی اشتب میزنی
۰
۰
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ


موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  شبکه عصبی مک کلاچ برای یک مورد کاربردی با متلب Sanazzzz.mi ۰ ۲,۲۳۷ ۲۶ مهر ۱۳۹۸ ۰۱:۲۰ ق.ظ
آخرین ارسال: Sanazzzz.mi
  مجموعه آموزشی رایگان برنامه نویسی متلب net work ۰ ۲,۱۶۴ ۲۲ فروردین ۱۳۹۸ ۰۳:۲۱ ب.ظ
آخرین ارسال: net work
Wink آیا امکان جایگزین شدن داوطلب باتغییرمشخصات برای آزمون ارشد۹۸وجود دارد؟ p.daliri ۰ ۳,۰۴۳ ۱۷ فروردین ۱۳۹۸ ۰۱:۵۸ ب.ظ
آخرین ارسال: p.daliri
  نیاز به دیتاست برای شبکه عصبی مصنوعی در متلب MATLAB ghasemkh ۰ ۲,۹۰۲ ۲۵ دى ۱۳۹۷ ۰۳:۳۲ ق.ظ
آخرین ارسال: ghasemkh
  مشکل لایسنس متلب αɾια ۱۳ ۱۶,۲۸۴ ۲۱ آذر ۱۳۹۷ ۱۰:۴۷ ق.ظ
آخرین ارسال: αɾια
  پردازش تصویر با متلب Baran15 ۰ ۱,۹۴۸ ۱۷ آبان ۱۳۹۷ ۰۱:۱۵ ق.ظ
آخرین ارسال: Baran15
  ماتریس ها در متلب safoora s ۱ ۲,۱۴۸ ۱۲ مرداد ۱۳۹۷ ۱۲:۲۲ ب.ظ
آخرین ارسال: BBumir
  کمک در یادگیری شبیه سازی شبکه در متلب atefe73 ۲ ۲,۹۲۱ ۲۹ تیر ۱۳۹۷ ۰۱:۵۹ ب.ظ
آخرین ارسال: The BesT
  کمک در یادگیری شبیه سازی شبکه های هوشمند در متلب atefe73 ۱ ۳,۸۱۶ ۲۵ تیر ۱۳۹۷ ۰۶:۴۸ ب.ظ
آخرین ارسال: atefe73
  خطای نتیجه در متلب The BesT ۶ ۴,۸۳۷ ۲۰ تیر ۱۳۹۷ ۱۰:۳۹ ق.ظ
آخرین ارسال: Behnam‌

پرش به انجمن:

Can I see some ID?

به خاطر سپاری رمز Cancel

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close

رمزت رو فراموش کردی؟

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. close