انجمن سایت کلیدستان


رتبه موضوع:
  • 1 رای - 2 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
شرط

شرط

#1
 من یه برنامه دارم اعداد تصادفی بین 1 تا 50 تولید می کنه.بعد 4 تا شرط بررسی می کنه که اگه عدد بین  .... تا .... شد  مثلا بنویسه خوب ،متوسط ، عالی و ضعیف .ولی من وقتی اجرا می کنم همش متوسط می نویسه؟
بعد با چه دستوری می تونم بنویسم که فقط خروجی متوسط (ضعیف یا عالی  یا خوب) رو در داخل فایل متنی نشون بده
پاسخ

شرط

#2
سلام.
اینکه همه رو متوسط می نویسه، به احتمال زیاد یک جایی از کدها رو اشتباه نوشتید.
برای نمایش می توانید از دستور disp استفاده کنید. 

 کد متلب زیر رو ببینید :


کد:
clear all
close all
clc

random=rand(1,4)
for nn=1:4
    if (random(nn)<0.5)
        disp('small')
    elseif (random(nn)>=0.5)
        disp('big')
    end
end

اول یک بردار شامل 4 عدد تصادفی بین 0 تا 1 ساختیم و سپس تعیین کردیم هر عنصر آن اگر کمتر از 0.5 بود در خروجی کلمه small نمایش داده بشه و اگر بزرگتر یا مساوی 0.5 بود، در خروجی کلمه big نمایش داده بشه.
نتیجه یک بار اجرای کد متلب ذکر شده، به صورت زیر می باشد :


کد:
random =

    0.6324    0.0975    0.2785    0.5469

big
small
small
big

 
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ

شرط

#3
(۱۳۹۲/۰۲/۱۵, ۰۲:۱۹ ب.ظ)'admin' نوشته: سلام.
اینکه همه رو متوسط می نویسه، به احتمال زیاد یک جایی از کدها رو اشتباه نوشتید.
برای نمایش می توانید از دستور disp استفاده کنید. 

 کد متلب زیر رو ببینید :



کد:
clear all
close all
clc

random=rand(1,4)
for nn=1:4
    if (random(nn)<0.5)
        disp('small')
    elseif (random(nn)>=0.5)
        disp('big')
    end
end

اول یک بردار شامل 4 عدد تصادفی بین 0 تا 1 ساختیم و سپس تعیین کردیم هر عنصر آن اگر کمتر از 0.5 بود در خروجی کلمه small نمایش داده بشه و اگر بزرگتر یا مساوی 0.5 بود، در خروجی کلمه big نمایش داده بشه.
نتیجه یک بار اجرای کد متلب ذکر شده، به صورت زیر می باشد :



کد:
random =

    0.6324    0.0975    0.2785    0.5469

big
small
small
big

 مرسی .ولی من می خوام خروجی  رو به شکل اعداد صحیح نشون بده .حتی تبدیل به int کردم ولی فقط اعداد 0 و 1 رو چاپ کرد.
و اینکه همانطور که مشاهده می کنید برای هر داده پیغام متوسط و ... نمایش میده من اگه بخوام (برای مثال  نشون بده که تعداد اعداد بین 5 تا 13  بیشتر باشه  فقط مقدار متوسط رو نشون بده) اونوقت باید چه جوری بنویسم؟

 
پاسخ

شرط

#4
اگر می خواهید اعداد تصادفی تولید شده در متلب، اعشاری نباشند باید از دستور randi در متلب استفاده کنید. به این صورت :
کد:
random=randi([0,20],1,4)

این کد متلب، برداری با 4 عنصر تولید میکنه که هر عنصر به صورت یک عدد صحیح در بازه 0 تا 20 می باشد.
در مورد اینکه گفتید همه رو متوسط نشون میده، این کد متلب قبلی که براتون نوشته بودم، هم خروجی big داشت و هم خروجی small و نشون میده که برنامه فقط خروجی با یک حالت خاص نداره و اعداد تولیدی در حالت های مختلف قرار می گیرند. شما یک حالت middle می توانید به کدهای متلبی که من نوشتم اضافه کنید و این کدها فقط برای یادگیری روش بود.

 
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط شماره مجازی امارات ، تلگرام ضد فیلتر 2023


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان