نوشتن ماتریس در فایل txt با متلب
ماتریسهای یکی از نوعهای دادهای پر کاربرد و پر اهمیت در متلب است. متلب که در بین رشتههای مختلف کاربرد علمی و تحقیقاتی دارد به علت پایهی ریاضی آن با دادههای ماتریس به سادگی میتواند کار کند. در این نوشته روش نوشتن اطلاعات یک ماتریس در فایل txt با نرمافزار متلب را به شما آموزش خواهیم داد.
نوشتن ماتریس در فایل txt با متلب
برای نوشتن اطلاعات یک ماتریس در فایل txt با نرمافزارمتلب از تابع زیر استفاده میکنیم.
function SaveMatrix(data, name)
fid = fopen(name, 'w');
[n_row, n_column] = size(data);
magic = uint8('YANGVOCO');
fwrite(fid, magic, 'uint8');
fwrite(fid, n_column, 'int32');
fwrite(fid, n_row, 'int32');
for ii = 1:n_column
fwrite(fid, data(:, ii), 'float32');
end;
fclose(fid);
end
توضیحات
- کد بالا را از این لینک دریافت کنید.
- کد بالا یک تابع متلب است؛ این کد شامل یک تابع با نام SaveMatrix است.
- ورودی این تابع متغیر data و name است که متغیر data باید یک ماتریس شود و متغیر name باید نام فایل txt بشود.
- این تابع خروجی خاصی ندارد.
در صورتی که روشهای بهتری برای تمرین بالا در اختیار دارید برای ما ارسال کنید.
برای امتیاز به این نوشته کلیک کنید!
[کل: 2 میانگین: 5]



















آیا این روش روی ماتریسهای خیلی بزرگ از نظر سرعت بهینه هست؟
بله تفاوتی ندارد.
چرا ترتیب نوشتن ابعاد به صورت ستون بعد سطر انتخاب شده؟
در متلب به این شکل انجام میشود.
دلیل استفاده از رشتهی YANGVOCO به عنوان magic word چیه؟
به این رشته اصطلاحاً magic word یا magic number میگن. هدفش اینه که وقتی فایل ذخیره شد، در هنگام باز کردن و خواندن فایل مطمئن بشیم که این فایل واقعاً همون فرمتیه که تابع ما ساخته. مثلاً اگر فایل متعلق به فرمت دیگهای بود، اولین ۸ بایتش با “YANGVOCO” تطابق نخواهد داشت و برنامهی خواننده میفهمه فایل معتبر نیست. انتخاب رشتهی “YANGVOCO” سلیقهایه و میتونه هر چیزی باشه، مهم اینه که ثابت و منحصربهفرد باشه.
آیا این ساختار فقط با تابع ReadMatrix خودتون قابل بازخوانی هست یا با متلب عادی هم میشه خوند؟
بله به سادگی قابل خواندن است.
چرا فایل خروجی به جای فرمت متنی ساده به صورت باینری نوشته میشه؟
به دلیل سرعت خواندن/نوشتن و بهینه بودن حجم فایل به این شکل ذخیره میشود.