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


رتبه موضوع:
  • 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
سایز ماتریس در متلب (خطای Out of memory)

سایز ماتریس در متلب (خطای Out of memory)

#5
(۱۳۹۳/۰۸/۲۱, ۰۴:۴۴ ق.ظ)'Fahrenheit' نوشته: من الان ماتریسی دارم که ستونش 9000 هست ، اما سطرش در هرمرحله داره زیاد میشه( با vertcat کردنش به ماتریس دیگری) .. به همین خاطر ارور out of memory در مثلا لوپ 150 داده میشه ..(تا آخر لوپ ها ، هم فکر میکنم تعداد سطر این ماتریس از 1 میلیون هم رد میشه!!!!! )
از اسپارس استفادهکردم بی فایده بود ، از Int8 استفاده کردم بازم هنگ و ....... هرکاری میکنم نمیشه ! رم من 6 گیگ هست.
باید چیکار کنم ؟؟؟ خیلی مهم هست این موضوع ! اینکه میگید اطلاعات رو در ماتریسهای کوچکتر ذخیره کنم دقیقا یعنی چی؟؟؟بدرد کار من میخوره ؟؟ میشه مثال کدی بزنید؟
آخه در مرحله بعد به حاصل این ماتریس نیاز دارم و این ورودی یه تابع هست.

 


سلام.
اگر واقعا باید همه اطلاعات نگه داری بشه (در حد میلیونی)، راهی که به نظرم میرسه اینه که اطلاعات را به طور موقتی در فایل هایی ذخیره کنید (فایل mat یا فایل متنی) و بعد در ادامه اجرای برنامه، آنها را از متلب پاک کنید (تا حافظه خالی شود)، سپس هر وقت که به آنها نیاز داشتید، دوباره آنها را از فایل های ذخیره شده، فراخوانی کرده و پردازش کنید.
دقت کنید که ذخیره سازی و فراخوانی اطلاعات را با کدنویسی انجام بدهید (نه به صورت دستی).
مثلا شما گفتید که باید هر بار نتیجه یک سری پردازش، به یک ماتریس افزوده بشه. خوب شما اصلا اطلاعات ماتریس را در یک فایل متنی ذخیره کنید. هر بار هم یک سطر به سطرهای فایل متنی اضافه می شود (یعنی افزوده شدن یک سطر به اطلاعات ماتریس). خوب حالا ممکنه بگید که موقعی که می خواهیم ماتریس نهایی (همون که در حد میلیونی ردیف دارده) رو پردازش کنیم، چه کار باید کرد (نمیشه که اون رو وارد متلب کنیم). برای این موضوع هم راه حل ساده است، نیازی نیست که کل ماتریس را از فایل متنی خوانده و در حافظه متلب بیاوریم، بلکه مثلا فرض کنید برای پردازش، به اطلاعات ردیف 10050 ام ماتریس نیاز داریم، برای این منظور، اطلاعات ذخیره شده در فایل متنی که مربوط به ردیف 10050 است را می خوانیم و در حافظه متلب می آوریم و پردازش های لازم را بر روی آنها انجام می دهیم.
ولی به هر حال، باز هم توصیه می کنم که ببینید واقعا نیاز دارید که همه اطلاعات نگه داری شود یا نه، اگر لازم بود آنگاه درگیر موارد فوق شوید.

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


پیام‌های این موضوع
RE: سایز ماتریس - توسط admin - ۱۳۹۲/۰۴/۲۴, ۱۰:۵۲ ب.ظ
RE: سایز ماتریس - توسط Fahrenheit - ۱۳۹۳/۰۸/۲۱, ۰۴:۴۴ ق.ظ
RE: سایز ماتریس - توسط نوترینو90 - ۱۳۹۲/۰۴/۲۵, ۱۲:۴۰ ق.ظ
RE: سایز ماتریس در متلب - توسط admin - ۱۳۹۳/۰۸/۲۱, ۱۲:۰۵ ب.ظ
RE: سایز ماتریس در متلب - توسط Fahrenheit - ۱۳۹۳/۰۸/۲۱, ۰۳:۲۰ ب.ظ
RE: سایز ماتریس در متلب - توسط Fahrenheit - ۱۳۹۳/۰۸/۲۱, ۰۶:۳۴ ب.ظ
RE: سایز ماتریس در متلب - توسط admin - ۱۳۹۳/۰۸/۲۱, ۰۷:۲۶ ب.ظ
RE: سایز ماتریس در متلب - توسط Fahrenheit - ۱۳۹۳/۰۸/۲۱, ۰۷:۳۲ ب.ظ
RE: سایز ماتریس در متلب - توسط admin - ۱۳۹۳/۰۸/۲۱, ۰۸:۰۹ ب.ظ
RE: سایز ماتریس در متلب - توسط Fahrenheit - ۱۳۹۳/۰۸/۲۱, ۱۰:۲۳ ب.ظ
RE: سایز ماتریس در متلب - توسط admin - ۱۳۹۳/۰۸/۲۲, ۰۲:۰۵ ب.ظ
RE: سایز ماتریس در متلب - توسط Fahrenheit - ۱۳۹۳/۰۸/۲۲, ۰۹:۱۰ ب.ظ
RE: سایز ماتریس در متلب - توسط Fahrenheit - ۱۳۹۳/۰۸/۲۳, ۰۶:۰۰ ب.ظ
RE: سایز ماتریس در متلب - توسط admin - ۱۳۹۳/۰۸/۲۳, ۰۷:۴۴ ب.ظ
RE: سایز ماتریس در متلب - توسط Fahrenheit - ۱۳۹۳/۰۸/۲۴, ۰۲:۴۹ ب.ظ
RE: سایز ماتریس در متلب - توسط admin - ۱۳۹۳/۰۸/۲۵, ۱۱:۳۲ ق.ظ
RE: سایز ماتریس در متلب - توسط Fahrenheit - ۱۳۹۳/۰۹/۰۷, ۰۳:۰۰ ق.ظ
RE: سایز ماتریس در متلب - توسط Fahrenheit - ۱۳۹۳/۰۹/۰۸, ۰۶:۴۹ ب.ظ
RE: سایز ماتریس در متلب - توسط admin - ۱۳۹۳/۰۹/۰۹, ۰۶:۱۲ ق.ظ

پرش به انجمن:


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