ذخیره کردن و فراخوانی فایل متنی در نرم افزار متلب

matlab_logo

در این پست نحوه ذخیره و فراخوانی فایل متنی با فرمت txt توضیح داده شده است.

یکی از مهمترین کاربردهای متلب در ذخیره کردن فایل‏ها و بازخوانی فایلهای متنی است.

در این قسمت میخواهیم نحوه ذخیره یک فایل متنی و پس از آن فراخوانی آن را در نرم افزار متلب توضیح دهیم

clear;clc
x=-pi:.1:pi;
for n=1:length(x)
fprintf(‘%8.4f\n’,x(n))
end
save(‘mytex.txt’,’x’,’-ascii’)

بردار x  را در ابتدا ایجاد کرده و سپس نمایش داده شده است

بعد با فرمان save  این بردار در فایلی به نام mytex.tex دخیره شده است

x نام متغیر است و ‘ascii-‘ فرمتی است که فایل ذخیره میشود. اگر نوشته نشود فایل به صورت باینری ذخیره

میشود و فقط نرم افزار متلب میتواند آن را بخواند اما با نوشتن ‘ascii-‘  ساختار فایل به صورت دقیقا متغیر مورد

نظر ذخیره میشود. تا این مرحله یک فایل متنی با داده های متغیر x ساخته شده است.

حال فرض کنید یک فایل متنی داریم و میخوهیم آن را توسط نرم افزار متلب بازخوانی و آن را به صورت یک متغیر

در نرم افزار متلب ذخیره کنیم. دستوری که برای این کار استفاده میشود دستور fopen  است.پس ابتدا فایل

مورد نظر را در نرم افزار متلب باز میکنیم.

fi = fopen(‘mytex.txt’, ‘r’);
a = fscanf(fi, ‘%f’, [1 inf])

در دستور fopen  گزینه r  بدین معنی است که نرم افزار متلب فایل متنی مورد نظر را بخواند و فقط اجازه

خواندن آن را دارد. پس با این دستور فایل مورد نظر به صورت fi ذخیره میشود. برای تبدیل این فایل به زبان متلب

باید با دستور fscanf فایل مورد نظر خوانده شود و داده ها گرفته شود و در ماتریس a ذخیره شود.در انتهای فرمان [۱ inf] به متلب می گوید که یک ستون را تا انتها بخواند.

در قسمت زیر میخواهیم مجددا برنامه ای بنویسم که دو بردار  x,y را در یک فایل متنی ذخیره کند

سپس فایل متنی را بخواند و با توجه به آن داده های درون فایل متنی را در متغیر yread  دخیره کند.

clear;clc;
x=linspace(0,10,11)
y=linspace(0,1,11)
%save text file
save(‘mr.txt’,’x’,’y’,’-ascii’)
%load second row of mr.text to yread
fio=fopen(‘mr.txt’,’r’)
yread=fscanf(fio,’%f%f’,[length(x) 2])

در صورت داشتن سوال ، درخواست پروژه و یا مشاوره در خصوص نرم افزار  متلب، سیمولینک سایر مطالب فوق میتوانید از طریق قسمت ارتباط با ما در بالای سایت با ما تماس حاصل نمایید.

 

محسن رضایی

کارشناسی : مهندسی مکانیک جامدات، کارشناسی ارشد: مهندسی مکانیک طراحی کاربردی، دکتری: دانشجوی دکتری مکانیک گرایش دینامیک کنترل و ارتعاشات دانشگاه شیراز زمینه های تحقیقاتی: دینامیک، کنترل، ارتعاشات، دینامیک پرواز، دینامیک خودرو، آیروالاستیسته، بهینه سازی زمینه های کاری صنعتی: طراحی مکانیزم های خطوط تولید،طراحی جرثقیل ها،طراحی ماشین الات صنعتی،بررسی عیوب و بهینه سازی ماشین الات صنعتی نرم افزارهای مسلط: متلب-سیمولینک- سیم مکانیک-انسیس - انسیس ورکبنچ-آدامز-سالیدورکس-آباکوس سوابق کاری:استاد سابق دانشگاه ازاد اسلامی، دانشگاه علمی کاربردی،مدرس نرم افزارهای مکانیک مجتمع فنی تهران (شعبه ی شیراز) و آموزشگاه فواد، مشاور مهندسی و طراح در یک شرکت معتبر تلفن تماس: 09369074440 ایمیل : mechanic.soft[at]yahoo.com , info[at]mechanicsoft.ir نوشته‌های تازه

4 دیدگاه در“ذخیره کردن و فراخوانی فایل متنی در نرم افزار متلب

  • بهمن ۱۴, ۱۳۹۴ در۵:۵۱ ب.ظ
    پیوند یکتا

    من هر کدام از این برنامه ها را که در متلب اجرا می کنم متلب ارور میدهد که نمی توانی از دستور save استفاده کنی!!!!
    Error using save
    Unable to write file mytex.txt: permission denied.

    Error in Untitled (line 6)
    save(‘mytex.txt’,’x’,’-ascii’)
    چرا؟

    پاسخ
    • بهمن ۱۵, ۱۳۹۴ در۱۲:۲۰ ب.ظ
      پیوند یکتا

      سلام من دستور رو مجددا اجرا کردم و مشکلی نبود شما باید اول بردار x رو تعریف کنید بعد دستور رو اجرا کنید. البته توی این صفحه که مینویسم پرانتزهای اخر میاد اول نوشته که وقتی توی متلب کپی کنید این مشکل حل میشه
      clear;clc
      x=-pi:.1:pi;
      for n=1:length(x)
      fprintf(‘%8.4f\n’,x(n))
      end
      save(‘mytex.txt’,’x’,’-ascii’)

      پاسخ
  • اسفند ۱۵, ۱۳۹۴ در۷:۰۸ ب.ظ
    پیوند یکتا

    سلام و عرض ادب
    خسته نباشید.
    من وقتی برنامه ای را در متلب مینویسم وذخیره میکنم به صورت pdf ذخیره میشود. چکار کنم که اینطوری نباشه و به صورت mفایل ذخیره بشه؟
    ممنون میشم پاسخ بدین یا به ایمیلم پاسخ رو بفرستین.
    با تشکر فراوان

    پاسخ
  • فروردین ۲, ۱۳۹۵ در۴:۰۷ ب.ظ
    پیوند یکتا

    سلام من یه برنامه در محیط سمبولیک نوشتم و با این دستور متلب پیغام زیر رو میده و فقط یک فایل متنی خالی میسازه
    Warning: Attempt to write an unsupported data type to an ASCII file.
    Variable ‘Seff1’ not written to file.

    پاسخ

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *