سلام.
کدهای متلب :
a و b حدود تولید اعداد تصادفی است. total_number برابر تعداد عناصر بردار و mean همان میانگینی است که می خواهیم به آن برسیم.
epsilon مهم است و بر اساس تعداد ارقام اعشاری مقدار mean ، باید مشخص شود (فعلا برای مقدار مورد نظر شما مناسب است).
مقدار نهایی میانگین اعداد، با نام final_mean نمایش داده می شود. همیشه حتما این مقدار را چک کنید.
اعداد تصادفی، در متغیر r ذخیره می شوند.
نتیجه اجرای کدها :
موفق باشید.
کدهای متلب :
کد:
clear all
close all
clc
a=0;
b=0.2;
mean=0.01064;
total_number=20;
epsilon=0.000001;
r=a+(b-a).*rand(1,total_number);
difference=sum(sum(r))-(total_number*mean);
finish=0;
while (finish == 0)
if (abs(difference) < epsilon)
finish=1;
end
if (difference > 0)
for nn=1:total_number
if (abs(difference) < epsilon)
finish=1;
% return;
elseif (r(nn) > difference)
r(nn)=r(nn)-difference;
difference=0;
else
c=a;
d=r(nn);
random=c+(d-c).*rand(1);
r(nn)=r(nn)-random;
difference=difference-random;
end
end
end
if (difference < 0)
for nn=1:total_number
if (abs(difference) < epsilon)
finish=1;
% return;
elseif (b-r(nn) > difference)
r(nn)=r(nn)+abs(difference);
difference=0;
else
c=0;
d=b-r(nn);
random=c+(d-c).*rand(1);
r(nn)=r(nn)+random;
difference=difference+random;
end
end
end
end
r
final_mean=sum(sum(r))/total_number;
final_mean=vpa(final_mean)
a و b حدود تولید اعداد تصادفی است. total_number برابر تعداد عناصر بردار و mean همان میانگینی است که می خواهیم به آن برسیم.
epsilon مهم است و بر اساس تعداد ارقام اعشاری مقدار mean ، باید مشخص شود (فعلا برای مقدار مورد نظر شما مناسب است).
مقدار نهایی میانگین اعداد، با نام final_mean نمایش داده می شود. همیشه حتما این مقدار را چک کنید.
اعداد تصادفی، در متغیر r ذخیره می شوند.
نتیجه اجرای کدها :
کد:
r =
Columns 1 through 9
0.0001 0.0059 0.0090 0.0010 0.0292 0.0011 0.0015 0.0352 0.0198
Columns 10 through 18
0.0404 0.0113 0.0209 0.0001 0.0024 0.0033 0.0031 0.0125 0.0092
Columns 19 through 20
0.0031 0.0037
final_mean =
0.01064
موفق باشید.
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.