نمايش پست تنها
قديمي ۰۱-۱۱-۱۳۹۱, ۱۱:۱۶ بعد از ظهر   #5 (لینک دائم)
HojjatJafary Male
عضو فوق فعال
 
آواتار HojjatJafary
 
تاريخ عضويت: فروردين ۱۳۹۰
محل سكونت: Teh
پست ها: 31
تشكرها: 1
29 تشكر در 14 پست
My Mood: Nafaskesh
پيش فرض

كد:
    [fid, msg] = fopen( fname , 'rt');
    if ( fid == -1 )
        disp(msg);
        return ;
    end 
    
    cellData = textscan( fid, '%f %f %*d', 'delimiter', '\n' );
    fclose(fid);
دستور textscan چیزی شبیه به دستور scanf در زبان C است دستور بالا ابتدا فایلی با نام fname را به صورت فقط خواندنی (read only) و از نوع text باز می کند.
در دستور textscan دو عدد اعشاری از نوع ممیز شناور (floating point) خوانده می شود و سپس از یک عدد صحیح عبور می کند و آن را نمی خواند چون برای خوشه بندی نیازی به داشتن ورودی آخر در فایل مورد نظر نداریم.(ظاهرا وردی آخر جواب است)

دقت داشته باشید ورودی خوانده شده به صورت Cell Matrix است که می توانید به راحتی آنرا بایک دستور به ماتریس تبدیل کنید.
پیاده سازی الگوریتم Kmeans بسیار ساده بوده و مثال های زیادی در اینترنت موجود است برای درک بهتر الگوریتم به سایت ویکی پدیا مراجعه کنید.

موفق و موید باشید.
HojjatJafary آفلاين است   پاسخ با نقل قول