(۱۳۹۶/۰۸/۰۴, ۰۸:۱۶ ب.ظ)Matlab2017 نوشته: مرسی
اما این دستور یک ماتریسی ایجاد میکنه که کلیه سطرهاش تو بازه a و b هستند درحالی که هدف من اینه که ماتریس مثلا A هر ردیفش تو یه بازه تصادفی که میگم باشه مثلا سطر اول بین 0.2 تا 1.2 سطر دوم بین 2 تا 8 و به همین شکل
سلام.
بنابراین باید همان شیوه کدنویسی که ذکر کردند را در دو حلقه for (کلید شماره 30) تو در تو به کار ببرید تا ماتریس A ساخته شود. در ابتدای برنامه، اعداد ماکزیمم و مینیمم هر ردیف را هم در دو بردار (مثلا با نام های A_min و A_max) ذخیره کنید.
توضیحات در مورد دستور rand را می توانید در کلید شماره 21 بخوانید.
کد متلب (MATLAB) :
کد پیاچپی:
clear all
close all
clc
A = zeros(9,30);
A_min = [10 20 30 40 50 60 70 80 90]
A_max = [20 30 40 50 60 70 80 90 100]
for kk=1:9
for jj=1:30
a = A_min(kk);
b = A_max(kk);
random_number = a+(b-a)*rand(1);
A(kk,jj) = random_number;
end
end
A
نتیجه اجرای کد متلب (MATLAB) :
کد پیاچپی:
A_min =
10 20 30 40 50 60 70 80 90
A_max =
20 30 40 50 60 70 80 90 100
A =
Columns 1 through 17
15.5343 13.6951 12.0642 19.8827 12.3162 16.1330 11.1937 17.5747 16.8573 13.6624 17.0041 11.7516 11.1295 17.4061 12.5185 12.0196 10.4789
26.7579 25.2052 25.0410 23.7992 27.0200 22.4142 25.3617 27.0462 22.2208 21.6802 23.0840 26.8044 27.9883 24.9885 20.0278 29.3883 21.0107
32.7732 32.0193 37.9783 30.9797 36.6067 31.6366 36.5983 35.5904 35.2593 30.1986 38.0065 38.3998 38.0032 37.4316 31.1846 30.8531 36.9161
47.1763 49.5861 42.1506 44.8890 46.7763 43.8903 42.1113 44.5383 47.7743 48.5621 49.3604 43.4111 45.6758 49.0899 42.2407 46.9003 48.9612
58.8965 50.3393 58.5029 50.0912 59.2995 54.0188 56.9245 51.0078 50.7877 57.1382 59.7054 55.3200 59.9130 58.5041 57.9880 50.1222 59.6185
63.3614 68.8797 63.8067 61.1546 60.7093 61.4483 68.5585 60.0494 64.7381 65.1170 61.8236 60.3909 68.2747 63.6294 63.1373 66.8040 69.7373
71.8511 73.1742 74.0764 79.0416 74.1537 75.0664 76.4631 72.4693 76.7242 74.9919 79.5905 75.3940 73.0245 73.5882 74.2158 75.7861 77.6765
82.8326 80.1386 89.6668 80.9959 88.8649 88.1718 89.7124 89.8706 85.6134 89.4646 86.7315 88.0468 89.8587 83.2765 82.1497 85.3059 83.1776
99.2258 99.8084 97.5521 97.7006 96.3066 93.9477 95.1490 99.4882 96.6882 95.3966 97.0410 91.3453 92.5697 94.8618 91.7691 99.8626 96.3103
Columns 18 through 30
13.8121 19.0674 13.9711 18.4618 13.8146 16.1677 16.5734 18.0259 11.7338 15.0833 10.2658 12.8387 10.7195
27.5767 29.9443 21.7692 28.3634 28.5133 27.2781 29.2460 29.6526 22.2529 20.4871 22.3054 23.5049 20.8970
36.1713 36.0072 38.6079 30.9193 31.5118 39.9038 39.5667 31.1522 34.8335 31.0245 39.7708 35.4432 34.0523
49.2728 45.3001 41.9939 47.7712 49.3423 47.8894 45.8972 43.0686 43.5500 44.3488 40.4706 40.3142 48.3363
52.5808 54.7062 55.2968 59.7166 50.5248 57.7532 53.0086 56.2588 53.9200 59.0592 55.1360 58.2642 59.6082
60.1126 69.4142 68.6721 69.7073 61.6371 64.5164 66.0316 62.4716 68.2897 62.7956 60.6400 64.9185 64.5895
73.2960 79.8381 70.8979 74.8123 72.0577 74.0695 71.1231 70.0430 71.9234 76.4267 70.1015 75.3701 78.8099
88.1272 87.0165 85.6787 81.4600 86.9508 88.2346 89.8839 82.6032 87.1495 82.4536 83.2179 81.3573 80.2961
93.9703 97.6627 97.1333 96.2592 98.7888 99.2737 98.9365 92.1875 93.3440 94.2702 93.6883 99.7823 97.9642
اگر قصد دارید که اعداد دارای قسمت اعشاری نباشند، همان طور که تذکر دادند، می توانید از دستور round استفاده کنید (کلید شماره 59).
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.