کلیدستان

نسخه‌ی کامل: ضروری: فراخوانی متغییر ها به صورت تصادفی (متلب - MATLAB)
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام دوستان

من تعدادی متغیر برای متلب فراخوانی کردم به نام های C1,c2,c3,c4 میخوام هر بار که کد متلب رو ران می کنم توی محاسباتم یکی از این متغییر ها به صورت تصادفی وارد بشه. برای مثال فکر کنید ک درون این متغییر ها عدد هست و برنامه ضرب تصادفی یکی از این متغییر ها در عدد 2 هست.
سلام.
می توانیم یک عدد تصادفی بین 1 تا 4 تولید کنیم و سپس بر اساس آن عدد تصادفی، مقدار یکی از آن 4 متغیر را برای به کار بردن در محاسبات، در متغیری با نام x کپی نماییم.
کد متلب (MATLAB) :

کد پی‌اچ‌پی:
clear all
close all
clc

c1 
10;
c2 20;
c3 30;
c4 40;

randi([1,4],1)

if 
r==1
    x 
c1;
elseif 
r==2
    x 
c2;
elseif 
r==3
    x 
c3;
elseif 
r==4
    x 
c4;
end

x
2*

نتیجه اجرای کد متلب (MATLAB) بالا (با یک عدد تصادفی تولید شده) :

کد پی‌اچ‌پی:
=

     3


=

    30


=

    60 

البته اگر تعداد متغیرها زیاد باشد، حجم کد روش بالا زیاد خواهد شد و در آن صورت، می توانید به جای اینکه مقادیر را در چند متغیر مختلف ذخیره کنید، همه آنها را در یک بردار یا ماتریس ذخیره نمایید و بعد یک عدد تصادفی تولید می کنید و بر اساس آن عدد تصادفی، مقدار یکی از عنصرهای آن بردار یا ماتریس را فراخوانی می کنید.

علاوه بر دو مورد بالا، در نرم افزار متلب (MATLAB)، امکان اجرای یک رشته (متن - String) به صورت کد نیز وجود دارد (یعنی کدی که باید اجرای شود را ابتدا به صورت یک رشته (متن - String) می سازیم) که وقتی می خواهیم مثلا در کدهایمان، نام متغیر مورد فراخوانی را با یک رشته (متن - String) تعیین کنیم (نام متغیر باید انتخاب شود)، از دستور eval استفاده می کنیم (مثالی از عملکرد آن در کلید شماره 154 وجود دارد). البته اگر دو مورد قبل مد نظرتان نبود، آن را امتحان کنید.

Flower