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


رتبه موضوع:
  • 1 رای - 4 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
سوال : صفر کردن درصد مشخصی از عناصر یک ماتریس سه بعدی به صورت رندوم

سوال : صفر کردن درصد مشخصی از عناصر یک ماتریس سه بعدی به صورت رندوم

#1
Rainbow 
سلام
من این کد رو برای حذف کردن درصدی از ماتریس داده سه بعدی نوشتم ولی اجرا نمیشه . میشه کمک کنید .
من یک شرط  while  تعیین کردم برای درصدگیری از ماتریس ، البته چون ماتریس سه بعدی است ، یک ماتریس one تعریف کردم که همزمان با صفر شدن ستون های ماتریس اصلی سه بعدی ، همان درایه در ماتریس one صفر میشه و درصدگیری روی ماتریس one  اعمال میشه . درایه ها به صورت تصادفی با دستور randi  تعیین میشن .
ولی با اجرای برنامه خروجی percent رو برابر صفر نمایش میده و انگار اصلا حلقه while رو نمیخونه . داده ها در سایت فورشیر آپلود و در پیوست هستند.


کد:
m=d_x_true;
m_size=size(m);
% Eliminate Random Traces 
delete=30;   % in percent
number_zero=(m_size(2)*m_size(3)*delete)/100;
one=ones(m_size(2),m_size(3));
percent_eliminate=((numel(one)-nnz(one))/(numel(one))*100);
while (percent_eliminate == delete)
    random_x= randi([1,121],1,1);
    random_y=randi([1,121],1,1);
    m_noise(:,random_x,random_y)=0;
    one(random_x,random_y)=0;
    percent_eliminate=((numel(one)-nnz(one))/(numel(one))*100);
end
percent_eliminate

فایل با پسوند mat.  در سایت فورشیر آپلود شده است .
http://www.4shared.com/file/bmNmmHiE/3d_3c_synth.html 
دوست دارم زندگی رو . . . 
پاسخ


پیام‌های این موضوع
سوال : صفر کردن درصد مشخصی از عناصر یک ماتریس سه بعدی به صورت رندوم - توسط 4i469x - ۱۳۹۲/۰۲/۱۰, ۰۱:۴۴ ب.ظ

پرش به انجمن:


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