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


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

سوال : حذف تصادفی ستون های یک ماتریس

#4
پس به جای اینکه کل ستون رو حذف کنیم ، تمامی عناصر آن را تبدیل به صفر می کنیم . همچنین برداری با نام zero_column می سازیم که در آن شماره ستون هایی که تمام عناصر آن تبدیل به صفر شده اند را در آن بردار ذخیره می کنیم تا بعدا برای مرحله درون یابی بدانیم که کدام ستون ها باید مقدار جدیدشان پیدا شود. کدهای متلب به صورت زیر می باشند :

کد:
clear all
close all
clc

N=5;
M=10;
L=5;
A=rand(N,M)
zero_column=zeros(1,L);

for nn=1:L
    a=1;
    b=M;
    for_zero=round(a+(b-a)*rand(1));
    A(:,for_zero)=0;
    zero_column(1,nn)=for_zero;
end

A
zero_column

نتیجه اجرای کد متلب بالا :

کد:
A =

    0.1206    0.2518    0.9827    0.9063    0.0225    0.4229    0.6999    0.5309    0.9686    0.7788
    0.5895    0.2904    0.7302    0.8797    0.4253    0.0942    0.6385    0.6544    0.5313    0.4235
    0.2262    0.6171    0.3439    0.8178    0.3127    0.5985    0.0336    0.4076    0.3251    0.0908
    0.3846    0.2653    0.5841    0.2607    0.1615    0.4709    0.0688    0.8200    0.1056    0.2665
    0.5830    0.8244    0.1078    0.5944    0.1788    0.6959    0.3196    0.7184    0.6110    0.1537


A =

    0.1206    0.2518    0.9827         0         0         0    0.6999    0.5309         0    0.7788
    0.5895    0.2904    0.7302         0         0         0    0.6385    0.6544         0    0.4235
    0.2262    0.6171    0.3439         0         0         0    0.0336    0.4076         0    0.0908
    0.3846    0.2653    0.5841         0         0         0    0.0688    0.8200         0    0.2665
    0.5830    0.8244    0.1078         0         0         0    0.3196    0.7184         0    0.1537


zero_column =

     4     5     6     5     9

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


پیام‌های این موضوع
سوال : حذف تصادفی ستون های یک ماتریس - توسط 4i469x - ۱۳۹۲/۰۱/۲۰, ۰۷:۲۸ ب.ظ
RE: سوال : حذف تصادفی ستون های یک ماتریس - توسط admin - ۱۳۹۲/۰۱/۲۰, ۰۹:۲۲ ب.ظ
RE: سوال : حذف تصادفی ستون های یک ماتریس - توسط 4i469x - ۱۳۹۲/۰۱/۲۰, ۱۰:۱۲ ب.ظ
RE: سوال : حذف تصادفی ستون های یک ماتریس - توسط admin - ۱۳۹۲/۰۱/۲۰, ۱۰:۴۹ ب.ظ

پرش به انجمن:


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