انجمن سایت کلیدستان



نحوه خواندن اطلاعات یک فایل text در متلبزمان کنونی: ۱۳۹۵/۰۹/۱۴، ۰۶:۲۱ ق.ظ
کاربران در حال بازدید این موضوع: 1 مهمان
نویسنده: m-civil1370
آخرین ارسال: admin
پاسخ 16
بازدید 7570

رتبه موضوع:
  • 1 رای - 3 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
نحوه خواندن اطلاعات یک فایل text در متلب

نحوه خواندن اطلاعات یک فایل text در متلب

#1
با سلام خدمت دوستان
من یک فایل text دارم ولی نمی دانم چگونه و با چه دستوری داده ها را از text به matlab بفرستم
لطفا راهنمایی کنید
مثلا این داده ها را داشته باشم
1    2    3    4     5     6     7
8    9    10    11    12    13
فاصله بین هر دو عدد ثابت و مثلا 4 تا space است و می خواهم به صورت سطری داده ها را بخوانم.
لطفا راهنمایی بفرمایید.

 

 

 
پاسخ

نحوه خواندن اطلاعات یک فایل text در متلب

#2
سلام.
از دستور textscan استفاده کنید.
خود help متلب، مثال های خوبی در مورد آن دارد.
 
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط m-civil1370

نحوه خواندن اطلاعات یک فایل text در متلب

#3
من در مورد خواندن داده از فایل متنی به این موارد برخوردم:

کد:
clc
fid = fopen('mysindata.txt', 'r');
a = fscanf(fid, '%f', [1 inf])
% It has one row.

کار فرمان fopen باز کردن فایل و آماده سازی آن برای باز خوانی است.گزینه ی r در انتهای فرمان به معنی reading است وبا کمک آن شما به متلب ذکر می کنید که فقط اجازه ی خواند فایل را دارد.
فرمان fscanf کارش خواندن داده ها و انتقال آنها به ماتریس مانند a است
در انتهای فرمان [1  inf] به متلب می گوید که یک ستون را تا انتها بخواند.


سوالم این است که چطور بگوییم مثلا از خط دو شروع به خواندن داده ها کند؟؟؟
مثلا در خط اول و دوم توضیحاتی راجب فایل دارم و داده ها از خط سوم شروع می شوند.
پاسخ

نحوه خواندن اطلاعات یک فایل text در متلب

#4
با سلام
دوستان اگه ممکنه راهنمایی بفرمایید
پاسخ

نحوه خواندن اطلاعات یک فایل text در متلب

#5
سلام.
با توجه به پرسش شما، مبحث زیر را نوشتم :

http://www.kelidestan.com/matlab/matlab-178.php

که آموزش می دهد که چگونه اطلاعات یک خط مشخص از فایل متنی را بخوانید. بر این اساس و با توجه به تعداد خطوط فایل متنی (قابل اندازه گیری بر اساس اندازه آرایه سلولی حاوی کل اطلاعات فایل متنی)، می توانید به هدف خود برسید.
 
اما روش بهتر، استفاده از کد زیر است :

کد:
A=textscan(fid, '%s', 'delimiter', '\n', 'headerlines', 3)

مقدار headerlines را برابر 3 انتخاب کرده ایم که باعث می شود 3 خط اول فایل خوانده نشود و خواندن فایل، از خط چهارم شروع شود (آن مبحث را بخوانید و سپس از این نکته استفاده کنید، مقدمات در آن مبحث گفته شده است).
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط m-civil1370

نحوه خواندن اطلاعات یک فایل text در متلب

#6
این هم مبحثی که آن مورد را به طور اختصاصی، توضیح می دهد :

http://www.kelidestan.com/matlab/matlab-179.php
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط m-civil1370

نحوه خواندن اطلاعات یک فایل text در متلب

#7
بسیار عالی
یه سوال
در دستور زیر
fid=fopen('example.txt');
A=textscan(fid, '%s', 'delimiter', '\n');
Line_Number=3;
Line_Information=A{1}{Line_Number}
من می خواهم کلا از خط سوم به بعد ، کل داده ها را در یک ماتریس قرار دهم.دستور به چه صورت خواهد بود؟؟؟

 
پاسخ

نحوه خواندن اطلاعات یک فایل text در متلب

#8
من اینطور متوجه شدم که با این دستور ابتدا کل داده ها را در ماتریس A قرار می دهد.
حال باید این داده ها را از ماتریس A بخوانیم.
حال چطور کل داده ها را بخوانیم و یکجا همه را در یک ماتریس ذخیره کنیم؟؟؟
پاسخ

نحوه خواندن اطلاعات یک فایل text در متلب

#9
تا اونجایی که من می دونم، دستور cell2mat برای تبدیل آرایه سلولی (cell array) به ماتریس به کار می رود، ولی برای هر آرایه ای عمل نمیکنه. بستگی به ساختار فایلتون داره و یک سری موارد دیگه. باید یک روش مناسب پیدا کنید یا اینکه، پس از استفاده از این روش، به سلول های آرایه ارجاع بدهید.
در ضمن، لطفا در ارسال هاتون، از دکمه درج کد استفاده کنید.   
 
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ

نحوه خواندن اطلاعات یک فایل text در متلب

#10
با تشکر از شما
یک نمونه از فایل هایم را در لینک زیر قرار داده ام
لطفا راهنمایی کنید.
http://mcivil1370.persiangig.com/documen...t/download


فایل‌های پیوست

دانلود OAK_WHAF-1.txt

نام فایل OAK_WHAF-1.txt
نوع فایل .txt
دفعات دانلود 170
اندازه 20.16 KB
ارسال کننده فایل m-civil1370
پاسخ

نحوه خواندن اطلاعات یک فایل text در متلب

#11
با توجه به ساختار فایل متنی که ضمیمه کردید، کدهای زیر را نوشتم (دقت کنید که نام فایل را به example.txt تغییر داده ام) :

کد:
clear all
close all
clc
fid=fopen('example.txt');
A=textscan(fid, '%f', 'headerlines', 2)
B=cell2mat(A);
B_size=size(B)
C=zeros(8,250);
for nn=1:2000
    C(nn)=B(nn);
end
C=C'

نتیجه اجرای کد متلب بالا، ماتریس C است که حاوی همان اطلاعات فایل متنی خواهد بود.
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط m-civil1370

نحوه خواندن اطلاعات یک فایل text در متلب

#12
بسیار عالی
خیلی ممنون
من باید این ماتریس را به صورت یک ماتریس ستونی در بیاورم. یعنی تمام سطرها را پشت سرهم قرار بدم
مثلا برای سطر اول که 8 درایه دارد در یک ماتریس ستونی 1*8 قرار بگیره بعد سطر بعدی هم زیر همین درایه ها قرار بگیره
دستور ترانهاده را دیده ام . برای کل سطر های ماتریس ، چطور این کار را انجام بدم؟؟؟
پاسخ

نحوه خواندن اطلاعات یک فایل text در متلب

#13
در کد قبلی، ببینید چطوری ماتریس C رو تعریف کردم. با کدهایی مشابه آن، می توانید دوباره عنصرها را در یک ماتریس جدید بچینید.
دستور reshape نیز می تواند برای این منظور به کار رود.
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط m-civil1370

نحوه خواندن اطلاعات یک فایل text در متلب

#14
خیلی ممنون از راهنماییتان
ماتریس را تغییر دادم.
پاسخ

نحوه خواندن اطلاعات یک فایل text در متلب

#15
یه سوال
میشه در مورد دستور reshape هم توضیح بدهید.شاید بعدها بدرد خورد.
پاسخ

نحوه خواندن اطلاعات یک فایل text در متلب

#16
خواهش می کنم.
قبلا در مورد reshape یک مبحث نوشته شده :

http://www.kelidestan.com/matlab/matlab-71.php
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط m-civil1370


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان

آخرین کلیدهای غیررایگان

شما هم می توانید کلیدهای غیررایگان منتشر کنید (بیشتر بدانید)