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


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

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

#15
من چگونگی چک کردن را به شما یاد می دهم، بعد خودتان کل کدها را چک کنید.
مطابق روشی که من گفتم (که متغیرها را در فایل ها ذخیره کرده و هنگام پردازش، آنها را از فایل خوانده و بعد نتیجه پردازش را در فایل هایی جدید ذخیره کنیم)، تنها در صورتی به مشکل بر می خوریم که کل ماتریس برای یک پردازش نیاز باشد. خوب حالا قصد داریم که ببینیم خط زیر با این روشی که من گفتم، اجرا میشه یا نه :

کد پی‌اچ‌پی:
nz sum( ( ), ); 

فرض می کنیم که X را در یک فایل متنی داریم (مثلا فایلی با نام X.txt)، ابتدا می خواهیم عبارت زیر را به دست آوریم :

کد پی‌اچ‌پی:


عبارت فوق، ماتریسی را می دهد که هم اندازه ماتریس X است که هر عنصری از ماتریس X که بزرگتر از عدد 0 بوده، را به 1 تبدیل می کنیم و هر عنصری از ماتریس X که کوچکتر یا مساوی عدد 0 بوده را به 0 تبدیل می کنیم. ما یک فایل با نام X_bigger_than_0.txt می سازیم و هر عنصر ماتریس X را از فایل  X.txt خوانده و مطابق منطق مورد نظر، به 0 یا 1 تبدیل کرده و در فایل X_bigger_than_0.txt  ذخیره می کنیم.
خوب حالا می رویم سراغ عبارت زیر :

کد پی‌اچ‌پی:
nz sum( ( ), ); 

دستور sum برای جمع زدن عناصر ماتریس در یک جهت خاص می باشد که چون عدد 2 را در آن ذکر کرده اید، یعنی باید عناصر را در جهت ردیف ها (جمع اعداد هر ردیف) محاسبه کنیم. بنابراین باید از فایل  X_bigger_than_0.txtمقادیر  را تک تک فراخوانی کرده و با هم جمع بزنیم، نتیجه را هم که به صورت یک بردار است، در یک فایل با نام nz.txt ذخیره می کنیم.

بنابراین مطابق همین روندی که گفتم، شما سایر کدها را هم چک کنید و ببینید که به همین شیوه می توان آنها را اجرا کرد یا خیر.
به موردی که حدس می زنم ایراد بگیرید، نحوه دادن ورودی به تابع ها است، مثل کد زیر :

کد پی‌اچ‌پی:
function idf(X

ممکنه بگید که خوب این خط از کدها، کل X را می خواهد. ولی پاسخ من این است که شما باید ورودی توابع را به صورتی تعریف کنید که نام فایل ها (مثلا X.txt) را دریافت کرده و بر اساس آن نام، فایل را فراخوانی کرده و عملیات ها را انجام بدهند.

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


پیام‌های این موضوع
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 مهمان