English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

إخراج البيانات في MATLAB

معنى تصدير البيانات (أو الخروج) في MATLAB هو كتابة ملف.MATLAB يتيح لك استخدام بياناتك في تطبيق يمكنه قراءة ملف ASCII. لذلك، يقدم MATLAB عدة خيارات لتصدير البيانات.

يمكنك إنشاء أنواع التالية من الملفات-

  • مستطيلات في المجموعة، ملفات البيانات ASCII المحددة بالفواصل.

  • ملف يوميات النقر (أو سجل) وخرج النص الناتج.

  • ملف ASCII مخصص باستخدام وظائف أساسية مثل fprintf.

  • ملف MEX، لاستدعاء نواتين C / C ++ أو Fortran مكتوبة بتنسيق ملف نصي معين.

إلا أنه يمكنك أيضًا إخراج البيانات إلى جدول البيانات.

هناك طريقتان يمكن من خلالها تحويل مجموعة الأرقام إلى ملف ASCII المحدد بالفواصل-

  • استخدامsaveوظيفة dlmwrite وحدد-asciiمحدد

  • استخدامdlmwriteوظيفة

نص تشكيلية للوظيفة save هو-

save my_data.out num_array -ascii

من بينها،my_data.outهي ملف ASCII المحدد بالفواصل المكون من البيانات المكونة من الأرقام،num_arrayهي مجموعة أرقام، وإلا  −asciiهو وسم.

استخدامdlmwriteنص تشكيلية للوظيفة هو-

dlmwrite('my_data.out', num_array, 'dlm_char')

من بينها،my_data.outهي ملف ASCII المحدد بالفواصل المكون من البيانات المكونة من الأرقام،num_arrayهي مجموعة أرقام،   dlm_charهو علامة الفصل.

مثال عبر الإنترنت

مثال أدنى يوضح هذه المفهوم. أنشئ ملف سكربت وادخل الكود التالي-

num_array = [ 1 2 3 4 ; 4 5 6 7; 7 8 9 0];
save array_data1.out num_array -ascii;
نوع  array_data1.out
dlmwrite('array_data2.out', num_array, ' ');
نوع  array_data2.out

عند تشغيل ملف، يظهر النتيجة التالية-

   1.0000000e+00 2.0000000e+00 3.0000000e+00 4.0000000e+00
   4.0000000e+00 5.0000000e+00 6.0000000e+00 7.0000000e+00
   7.0000000e+00 8.0000000e+00 9.0000000e+00 0.0000000e+00
1 2 3 4
4 5 6 7
7 8 9 0

لاحظ أن الأمر save -ascii وف�数 dlwrite لا ينطبق على مصفوفة الوحدات المدخلة. لإنشاء ملف ASCII محدد الحدود من محتوى مصفوفة الوحدات، يمكنك

  • استخدامcell2matدالة تحويل مصفوفة الوحدات إلى مصفوفة

  • أو تستخدم وظائف I / O الأساسية لتصدير مصفوفة الوحدات.

إذا كنت تستخدمsaveتساوي دالة الكarakter المكتوبة في ملف ASCII الكarakter المكتوبة في ملف.

على سبيل المثال، لنكتب كلمة "hello" في الملف-

h = 'hello';
savetextdata.outh -ascii
type textdata.out

ي�行 MATLAB الجملة أعلاه ويظهر النتيجة التالية. هذا هو سلسلة من 8 كarakter ASCII "hello".

1.0400000e+02 1.0100000e+02 1.0800000e+02 1.0800000e+02 1.1100000e+02

كتابة ملف اليومية

ملف اليومية هو سجل نشاط جلسة MATLAB الخاصة بك. يمكن للوظيفة اليومية إنشاء نسخة دقيقة للجلسة على القرص، ولكن لا تشمل الرسوم البيانية.

لفتح دالة اليومية، أدخل -

diary

اختياريًا، يمكنك تقديم اسم ملف اليومية، مثل -

diary logdata.out

إغلاق دالة اليومية -

diary off

يمكنك فتح ملفات اليومية في محرر النصوص.

استخدام I / O الأساسي لتحويل البيانات إلى ملفات البيانات النصية

حتى الآن، قمنا بتصدير مجموعة أرقام. ولكن قد تحتاج إلى إنشاء ملفات نصية أخرى، بما في ذلك مزيج من الأرقام والكarakter البيانية، ملفات输出来 غير مربعة أو ملفات تحتوي على سيناريوهات تشفير غير ASCII. لتحقيق ذلك، يقدم MATLAB واجهات أساسية لـ I / O.fprintfدالة قبل التصدير.

مثل في الأنشطة الأساسية لI / O، يجب استخدامfopenدالة لفتح أو إنشاء ملف والحصول على معرف الملف. افتراضًا، يفتح fopen الملف للوصول فقط للقراءة. يجب عليك تحديد الصلاحيات للكتابة أو الإضافة، مثل "w" أو "a".

بعد معالجة الملف، يجب استخدامfclose(fid)يغلق الوظيفة.

يعرض هذا المثال المفهوم-

مثال

أنشئ ملف سكريبت وأكتب الكود التالي فيه-

%إنشاء مصفوفة تحتوي على سطرين من y
x = 0:10:100;
y = [x; log(x)];
 
%فتح ملف للكتابة
fid = fopen('logtable.txt', 'w');
 
%عنوان الجدول
fprintf(fid, 'Log     Function\n\n');
 
%يتم طباعة القيم بترتيب عمودي
%يظهر قيمةين في كل سطر من الملف
fprintf(fid, '%f    %f\n', y);
fclose(fid);
%عرض ملف تم إنشاؤه
إدخال logtable.txt

عند تشغيل ملف، يظهر النتيجة التالية-

Log         Function
0.000000    -Inf
10.000000    2.302585
20.000000    2.995732
30.000000    3.401197
40.000000    3.688879
50.000000    3.912023
60.000000    4.094345
70.000000    4.248495
80.000000    4.382027
90.000000    4.499810
100.000000    4.605170