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


رتبه موضوع:
  • 1 رای - 2 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
چند خروجی در یک حلقه

چند خروجی در یک حلقه

#1
سلام
[align=right]بنده کد زیر رو برای فراخوانی یک تصویر 3 بانده و رسم نمودار هیستوگرام آن نوشتم که کار هم می کنه اما مشکل بنده اینجاست که فقط نمودار هیستوگرام باند آخر ترسیم میشه ولی من نیاز دارم که برای هر کدام از باندهای تصویر نمودار جداگانه ترسیم بشه 
[align=right]در واقع می خوام ماتریس a هروقت که حلقه یک بار اجرا شد ترسیم بشه و بعد حلقه ادامه پیدا کنه یعنی به ازاء هر    i     یک نمودار ترسیم بشود

کد:
clear;
close all;
clc;
test=imread('C:\Users\Public\Pictures\Sample Pictures\Desert.jpg');

for i=1:3;
for j=1:256;
val=find(test(:,:,i)==j-1);
a(j,1)=size(val,1);
end
end
figure
plot(1:256,a)
xlabel('DN')
ylabel('num of pixel')

ممنون اگر کمک کنید
 
پاسخ

چند خروجی در یک حلقه

#2
دستور plot رو به جای اینکه بیرون حلقه قرار بدی درون حلقه قرار بده .
دوست دارم زندگی رو . . . 
پاسخ
 سپاس شده توسط admin

چند خروجی در یک حلقه

#3
(۱۳۹۲/۰۸/۲۲, ۱۰:۲۰ ب.ظ)'4i469x' نوشته: دستور plot رو به جای اینکه بیرون حلقه قرار بدی درون حلقه قرار بده .

 


سلام
ممنون از راهنمایی شما
اما با بردن plot داخل حلقه مشکل حل نمیشه مگر اینکه یه شرط بزاریم که وقتی  j  یه دور کامل زد و نوبت به تغییر   i    رسید اونوقت plot  گرفته بشه و این چرخه ادامه پیدا کنه و در آخر به تعداد  i ها plot خواهیم داشت
اون شرط و نمی دونم چه جوری تعریف کنم
اونو اگر کمک کنید ممنون میشم 
 
پاسخ

چند خروجی در یک حلقه

#4
سلام.
شما دو حلقه for تو در تو دارید. منظور 4i469x ، قرار دادن دستور plot درون هر دو حلقه for نیست، بلکه تنها باید درون حقه for مربوط به پارامتر i ، دستور plot را بنویسید (دقیقا پس از اتمام حلقه for مربوط به پارامتر j). یعنی به این صورت :

کد:
clear;
close all;
clc;
test=imread('C:\Users\Public\Pictures\Sample Pictures\Desert.jpg');

for i=1:3;
    for j=1:256;
        val=find(test(:,:,i)==j-1);
        a(j,1)=size(val,1);
    end
    figure
    plot(1:256,a)
    xlabel('DN')
    ylabel('num of pixel')
end
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط 4i469x

چند خروجی در یک حلقه

#5
سلام

ممنون از راهنمایی دوستان
 
پاسخ
 سپاس شده توسط admin ، شماره مجازی امارات


پرش به انجمن:


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