آموزش export کردن داده ها در متلب

چاپ

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

 


مقدمات Export کردن داده ها در متلب

هدف ما از export کردن داده ها این است که یک فایل استاندارد ایجاد کنیم که دریافت کننده هنگام استفاده از آن، هیچ مشکلی نداشته باشد. 

در بخش های زیر از این فصل، بر تکنیک های استاندارد export کردن تمرکز می کنیم. 


کار کردن با ماتریس ها و داده های عددی

قبل از اینکه کاری انجام دهیم، برای export کردن به مقداری داده نیاز داریم. دستور زیر را در متلب تایپ کنید و کلید Enter را فشار دهید. 

دستور:

ExportMe = [1, 2, 3; 4, 5, 6; 7, 8, 9]

 خروجی به صورت زیر خواهد بود: 

 آنچه به دست آورده ایم، یک ماتریس با سه سطر و سه ستون است. 

export کردن ماتریس ها بسیار ساده است زیرا اکثر توابع به طور پیش فرض یک ماتریس را قبول می کنند. برای اینکه با روش export کردن ماتریس ها آشنا شوید، دستور زیر را در متلب تایپ کنید و کلید Enter را فشار دهید: 

دستور:

csvwrite('ExportedData1.csv',ExportMe)

 خواهید دید که متلب یک فایل جدید ایجاد می کند و شما می توانید آن را در پنجره ی Current Folder مشاهده کنید. وقتی که شما این فایل را باز کنید، چیزی شبیه عکس 11.3 را مشاهده خواهید نمود:

 


تمامی داده های متلب را نمی توان در قالب یک ماتریس ارائه داد، در حالی که تابع csvwrite تنها یک ماتریس را می پذیرد. برای اینکه بتوانیم از داده ها یک ماتریس به دست بیاوریم، باید با استفاده از یک تابع تبدیل کننده، فرمت داده ها را به فرمت ماتریس تبدیل کنیم. 

 

بعنوان مثال، اگر داده های ما به شکل یک آرایه ی سلولی باشند، می توانیم با استفاده از تابع ()cell2mat آنها را به ماتریس تبدیل کنیم. اما تبدیل های دیگری نیز وجود دارند که کار کردن با آنها به این سادگی نیست. بعنوان مثال، اگر بعنوان ورودی یک جدول داشته باشید، باید برای تبدیل آن، کارهای زیر را انجام دهید: 

1. باید از تابع ()table2cell برای تبدیل جدول به آرایه ی سلولی استفاده کنید.

2.باید از تابع ()cell2mat برای تبدیل آرایه ی سلولی به یک ماتریس استفاده کنید. 


کار کردن با داده های مخلوط شده در متلب

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

دستور:

MyCellArray = {'Andria', 42, true; 'Michael', 23, false;'Zarah', 61, false}

 خروجی زیر را مشاهده خواهید نمود: 

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

دستور

MyMatrix = cell2mat(MyCellArray)

 متاسفانه اگر این دستور را اجرا کنید با یک پیغام خطا مواجه خواهید شد، مثال:

 برای اینکه بتوانیم یک فایل csv به دست بیاوریم، ابتدا باید آرایه ی سلولی را به چیز دیگری تبدیل کنیم. ساده ترین راه این است که به جدول ها تکیه کنیم. بنابراین دستور زیر را در متلب تایپ کنید و کلید Enterرا فشار دهید: 

دستور:

MyTable = cell2table(MyCellArray)

 خروجی به صورت زیر خواهد بود: 

 حالا دستور زیر را در متلب تایپ کنید و کلید Enter را فشار دهید:

دستور

writetable(MyTable, 'ExportedData2.csv','WriteVariableNames', false)

 در این خروجی، حرف جداکننده ی ستون ها، علامت کاما در نظر گرفته می شود، بنابراین فایل خروجی آن با فرمت csv خواهد بود. عکس 4.11 نشان می دهد که در اکسل، فایل خروجی ما به چه صورت خواهد بود. ممکن است بر اساس برنامه ای که از آن استفاده می کنید، خروجی شما کمی متفاوت باشد: 

 حالا عملیات export کردن به خوبی انجام خواهد شد. اما شما همواره می توانیدبا استفاده از خصوصیات مخصوص به تابع  writetable کیفیت خروجی این تابع را بهتر کنید. 

 

در زیر، به طور خلاصه، خصوصیات تابع writetable  و کاربرد آنها را آورده یم: 

 


export کردن اسکریپت ها و تابع ها در متلب

برای export کردن اسکریپت ها و تابع ها، باید با استفاده از تابع ()publish  آنها را منتشر کنید. نرم افزار متلب، از خروجی های متفاوتی برای انجام این کار، پشتیبانی می کند. 

بعنوان مثال، اگر بخواهیم تابعی به نام ()UseTextscan را منتشر کنیم، باید دستور زیر را در متلب تایپ کنیم و سپس کلید Enter را فشار دهیم: 

دستور:

publish('UseTextscan.m', 'html')

با اجرای دستور بالا، خروجی زیر را در متلب مشاهد می کنیم: 

 ممکن است این آدرس برای شما کمی متفاوت باشد. اما می توانید موقعیت فایل منتشر شده را خودتان تعیین کنید. همان طور که مشاهده می کنید، متلب این فایل منتشر شده را پوشه ای به نام html و در یک فایل با پسوند html ذخیره کرده  است. تصویر 11.5 خروجی را به ما نشان می دهد، البته بر اساس مرورگری که استفاده می کنید، ممکن است این خروجی متفاوت باشد. 

 

 در فصل 12 به جزئیات بیشتری در مورد منتشر کردن فایل ها می پردازیم.