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

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 ذخیره شود.در انتهای فرمان [1 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 نوشته‌های تازه

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

  • فوریه 3, 2016 در t 5:51 ب.ظ
    Permalink

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

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

    پاسخ دادن
    • فوریه 4, 2016 در t 12:20 ب.ظ
      Permalink

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

      پاسخ دادن
  • مارس 5, 2016 در t 7:08 ب.ظ
    Permalink

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

    پاسخ دادن
  • مارس 21, 2016 در t 4:07 ب.ظ
    Permalink

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

    پاسخ دادن
  • ژانویه 29, 2017 در t 6:25 ب.ظ
    Permalink

    با سلام و خسته نباشید.من می خوام نقشه خروجی از نرم افزار جی ای اس را وارد نرم افزار متلب کنم اما متاسفانه نمیدونم چطور میشه این کار رو کرد؟

    پاسخ دادن
    • ژانویه 31, 2017 در t 9:13 ب.ظ
      Permalink

      با سلام . اگر منظورتون عکس هست
      فایل را در دایرکتوری متلب قرار دهید.
      سپس از دستور زیر استفاده کنید.
      ‘A=imread(‘filename.jpg)
      image(A)

      پاسخ دادن
  • فوریه 13, 2018 در t 8:27 ب.ظ
    Permalink

    با سلام و تشکر از مطالب بسیار با ارزشتون
    بنده یه سوال داشتم . من میخوام اطلاعات متنی را از فایل بخونم باید چه کنم؟
    خیلی ممنون

    پاسخ دادن
    • ژوئن 10, 2018 در t 9:16 ق.ظ
      Permalink

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

      پاسخ دادن

دیدگاهتان را بنویسید

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