ذخیره کردن و فراخوانی فایل متنی در نرم افزار متلب
در این پست نحوه ذخیره و فراخوانی فایل متنی با فرمت 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])
در صورت داشتن سوال ، درخواست پروژه و یا مشاوره در خصوص نرم افزار متلب، سیمولینک سایر مطالب فوق میتوانید از طریق قسمت ارتباط با ما در بالای سایت با ما تماس حاصل نمایید.
من هر کدام از این برنامه ها را که در متلب اجرا می کنم متلب ارور میدهد که نمی توانی از دستور 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.
با سلام و خسته نباشید.من می خوام نقشه خروجی از نرم افزار جی ای اس را وارد نرم افزار متلب کنم اما متاسفانه نمیدونم چطور میشه این کار رو کرد؟
با سلام . اگر منظورتون عکس هست
فایل را در دایرکتوری متلب قرار دهید.
سپس از دستور زیر استفاده کنید.
‘A=imread(‘filename.jpg)
image(A)
با سلام و تشکر از مطالب بسیار با ارزشتون
بنده یه سوال داشتم . من میخوام اطلاعات متنی را از فایل بخونم باید چه کنم؟
خیلی ممنون
در قسمت فراخوانی فایل متنی توضیح داده شده، بعد از فراخوانی فایل باید به صورت رشته ای فایل رو بخونید و ادیت کنید.
با سلام، من می خوام 50 تا فایل که اسم فایل ها به صورت 1-2-3…50 هست رو بخونم. در واقع می خوام در یک حلقه for هر فایل باز شه و یه سری محاسبات برا محتویات فایل انجام بشه و بعد فایل بعدی باز شه تا آخر،چجوری می تونم این کاررو بکنم ?
با سلام
چطور می توانم فایل خروجی از نرم افزار مایک با فرمت dfsu. را با متلب بخوانم و به اکسل یا تکست تبدیل کنم؟؟
سلام
خدا قوت. من یک فایل متنی به نام
E_12-F0_235-F1_458.txt
دارم، میشه راهنمایی کنید این فایل رو چطوری از مطلب بخونم؟ این اسم فایل که ترکیبی از متن و عدد هست رو چطوری به مطلب بدم؟
ممنونم
سلام اگر فایل متنی ما حاوی چند ستون باشه و ما فقط بخوایم اطلاعات مثلا ستون دوم خوانده و اسکن بشن چی باید چی بنویسیم در کروشه ی قسمت fscan ؟
و اینکه اگر بخواهیم هر یک از اسم هایی که تو اون ستون مورد نظر که فایل متنی ما نوشته شده اند ( که تعدادشون هم مشخص نیست) بعد از اسکن یک شمارنده براشون تعریف کنیم چه باید بنویسیم ؟
سلام من یک فایل دیتاست با پسوند .dat دارم.
چطوری در matlab فراخوانی بکنم؟