اولین بار است که به این وب‌سایت می‌آیید. راهنما را مطالعه کنید!
x
موسسه خیریه محک

شهر ریاضی بازی-ریاضی

چگونه در یک بردار یک درایه خاص را با بقیه درایه های بردار جابجا کنم؟

0 امتیاز
2,976 نمایش
پرسیده شده چهارشنبه ۲۴ تیر ۱۳۹۴ در Matlab توسط mo na  
ویرایش شده پنجشنبه ۲۵ تیر ۱۳۹۴ توسط A.Firouzi

پاسخ ویرایش شد.

1 پاسخ

0 امتیاز


پاسخ ویرایش شده:

فک کنم الان بهتر سوالتون رو متوجه شدم. برای این کار هم راهی که به ذهن خودم میرسه استفاده از دو تا حلقه for تو در تو به شکل زیره:


for i=1:n-1
for j=i+1:n
swap = A(i);
A(i) = A(j);
A(j) = swap;
//در این قسمت تابع هدف خود را محاسبه کنید
end
end

در کد بالا، در حلقه بیرونی ابتدا یک عنصر چرخشی انتخاب میشه و بعد از اون در حلقه درونی این عنصر با بقیه عنصرهای بعد از خودش جا‌به‌جا میشه. طبیعتا با این روش نیازی به بررسی عناصر قبلی در هیچ مرحله‌ای نداریم چون به عنوان مثال اگر بخوایم مقدار تابع هدف رو پس از جابه‌جایی عنصر سوم با عنصر اول به دست بیاریم، این کار رو هنگام بررسی عنصر اول انجام دادیم.
امیدوارم با این تغییر پاسخ تونسته باشم پاسخ سوالتون رو بدم، اگر هم هنوز نکته مبهمی هست، بفرمایید.
شما جهان خود را می‌سازید، همان‌گونه که در آن پیش می‌روید.(وینستون چرچیل)
پاسخ داده شده پنجشنبه ۲۵ تیر ۱۳۹۴ توسط A.Firouzi  
ویرایش شده جمعه ۲۶ تیر ۱۳۹۴ توسط A.Firouzi

خیلی ممنون بابت راهنماییتون
ولی منظور من اینه که، ما ی درایه انتخاب می کنیم، مثلا درایه ی سوم در یک بردار N بعدی، را می خواهیم با بقیه ی داریه ها جابجا کنیم
بعد از آن برای هر یک از جابجایی ها مقدار هدف را محاسبه می کنیم، و بهترین جابجایی انتخاب می شود.
فکر می کنم باید با حلقه FOR بنویسیم ولی نمی دونم چه جوری
ممنون میشم اگه راهنمایی کنید چه جوری بنویسم