آموزش نرم افزارهای مهندسی مکانیک و کنترل

آموزش های ارائه شده توسط محسن رضایی (دکتری مکانیک، مشاورصنعتی و طراح ماشین آلات، مکانیزم ها و سازهای مکانیکی)

برنامه نویسی و محاسباتنرم افزار متلب

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

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 نوشته‌های تازه

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

  • سعید

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

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

    پاسخ دادن
    • mechanicsoft

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

      پاسخ دادن
  • mari

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

    پاسخ دادن
  • مجتبی

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

    پاسخ دادن
  • فهیم

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

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

      پاسخ دادن
  • مهوش

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

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

      پاسخ دادن
  • محمدرضا

    با سلام، من می خوام 50 تا فایل که اسم فایل ها به صورت 1-2-3…50 هست رو بخونم. در واقع می خوام در یک حلقه for هر فایل باز شه و یه سری محاسبات برا محتویات فایل انجام بشه و بعد فایل بعدی باز شه تا آخر،چجوری می تونم این کاررو بکنم ?

    پاسخ دادن
  • نسیم رضوی

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

    پاسخ دادن
  • سلام
    خدا قوت. من یک فایل متنی به نام
    E_12-F0_235-F1_458.txt
    دارم، میشه راهنمایی کنید این فایل رو چطوری از مطلب بخونم؟ این اسم فایل که ترکیبی از متن و عدد هست رو چطوری به مطلب بدم؟
    ممنونم

    پاسخ دادن
  • Mahmoodi

    سلام اگر فایل متنی ما حاوی چند ستون باشه و ما فقط بخوایم اطلاعات مثلا ستون دوم خوانده و اسکن بشن چی باید چی بنویسیم در کروشه ی قسمت fscan ؟
    و اینکه اگر بخواهیم هر یک از اسم هایی که تو اون ستون مورد نظر که فایل متنی ما نوشته شده اند ( که تعدادشون هم مشخص نیست) بعد از اسکن یک شمارنده براشون تعریف کنیم چه باید بنویسیم ؟

    پاسخ دادن
  • نیلوفر

    سلام من یک فایل دیتاست با پسوند .dat دارم.
    چطوری در matlab فراخوانی بکنم؟

    پاسخ دادن

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

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