گام هجدهم: داده خروجی
داده خروجی در متلب به معنی نوشتن در یک فایل است.متلب به شما اجازه استفاده از داده شما در برنامه کاربردی دیگر که در فایل های اسکی خوانده شده است را می دهد.. برای این کار، متلب چندین گزینه داده خروجی را فراهم کرده است.
شما می توانید انواع فایل های زیر را ایجاد نمایید:
- مستطیال، فایل داده اسکی را از آرایه مشخص میکند.
- فایل روزانه(ورود به سیستم) از ضربه کلید و نتایج داده خروجی.
- فایل اسکی اختصاصی با استفاده از توابع سطح پایین مانند fprintf.
- فایل – mex برای دسترسی شما به روال فرترن یا c/c++که به یک فرمت فایل متنی خاص نوشته می شود.
جدا از این، شما همچنین می توانید داده را به صفحه گسترده صادر کنید.
دو راه برای خروج آرایه عددی به عنوان فایل داده ascii تعیین شده وجود دارد:
- با استفاده از تابع save و تعیین توصیف کننده اسکی
- با استفاده از تابع dlmwrite
نحوه اجرا در متلب مورد استفاده برای تابع save این گونه است:
save my_data. out num_array -ascii
که در اینجا mydata.outفابل داده اسکی تعیین شده را ایجاد می کند، num_array یک آرایه عددی و تعیین کننده است.
نحوه اجرا در متلب برای استفاده از تابع dlmwrite این گونه است:
dlmw1cite(‘myidat:a . out: ‘ , num_array, ‘dlmicha1c‘)
که، my_data.out برای ایجاد فایل اسکی تعیین شده است، num_array آرایه عددی است و dlm_char کاراکتر تعیین شده است.
مثال
مثال زیر این مفهوم را تشریح می کند.یک فایل اسکریپت ایجاد کنید و کد زیر را تایپ نمایید:
num_array = [ 1 2 3 4 ; 4 5 6 7; 7 8 9 o];
save array_data1.out num_array -ascii;
type array_data1.0ut
dlmwrite(‘array_data2.out‘, num_array, ‘ ‘);
type array_data2.0ut
زمانی که شما فایل را ایجاد می کنید، نتیجه زیر نمایش داده می شود:
لطفاَ دقت کنیددستور اسکی و دستور dlmwrite با خانه های آرایه به عنوان ورودی کار نمی کند. با ایجاد یک فایل اسکیمشخص از محتوای خانه آرایه، شما می توانید
- هر یک از خانه آرایه را با استفاده از تابعcell2mat به ماتریس تبدیل کنید
- یا خانه را با استفاده از توابع سطح – پایین فایل i/o خارج کنید.
اگر شما از تابع save برای نوشتن یک آرایه کاراکتری به فایل اسکی استفاده کنید، آن معادل اسکی از کاراکترها را به فایل می نویسد.
برای مثال، به ما اجازه دهید کلمه’hello’ را در فایل بنویسیم:
h = ‘hell0‘;
save textdata.0ut h -ascii
type textdata.0ut
متلب دستورات بالا را اجرا می کند و نتیجه زیر را نمایش می دهد:
که کاراکترهایی از رشته’hello’ در قالب 8- رقم هستند.
نوشتن فایل های روزانه
فایل های روزانه سیستم ورودی های فعال از جلسه متلب هستند. تابع روزانه دقیقاً یک کپی از جلسه شما در فایل دیسک به جز گرافیک، ایجاد می کنند
turn onفایل روزانه، تایپ کنید:
diary
به صورت اختیاری، شما می توانید نامی از فایل سیستم ورود بدهید،بیان کنید:
turn off فایل روزانه:
diary logdata.0ut
dairy off
شما می توانید فایل روزانه را در یک ویرایشگر متن باز کنید.
خروج داده برای فایل های داده متنی سطح – پایین i/o
تاکنون، ما آرایه های عددی را استخراج کردیم.اگرچه ممکن است شما به ایجاد فایل های متنی دیگر نیاز داشته باشید، شامل ترکیباتی از داده کاراکتری و عددی، فایل های خروجی غیر مستطیلی، یا فایل های با طرح های رمزگذاری غیر اسکی.برای این منظور، متلب تابع fprintf سطح پایین را فراهم می کند.
همانطور که در فعالیت های فایل سطح پایین، قبل از استخراج، شما نیاز به بازکردن یا ایجاد یک فایل با تابع fopenدارید و شناسه فایل را می گیرید.به طور پیش فرض، fopen یک فایل را برای دسترسی فقط خواندنی باز می کند. شما باید نوشتن یا افزودن را مشخص کنید، مانند’w’ و ‘a’.
پس از پردازش فایل شما نیاز به بستن آن با تابع fclose دارید.
مثال زیر این مفهوم را نشان می دهد:
مثال
یک فایل اسکریپت ایجاد نمایید و کد زیر را در آن تایپ کنید:
% create a matrix y, with two rows
x = 0:10:100;
y =[x;log(x)];
% open a file for writing
fid = fopen(‘logtable.txt‘, ‘w’);
% table header
fprintf(fid, ‘log function\n\n‘);
% print values in column order
% two values appear on each row of the file
fprintf(fid, ‘%f %f\n‘, y);
fclose(fid);
% display the file created
type logtable.txt
زمانی که شما فایل را اجرا می کنید، نتجه زیر نشان داده می شود:
خرید کتاب 28 گام موثر در فتح متلب


