hey all!
i'm new to matlab and i have this task basically: i have a text file of students' their id's and grades (after that the text goes down a line) and i need to make an array/structure out of it.
the example text is stud_ex.txt. all i know is how to use fopen but beyond that i'm clueless.
i see a lot of people online using things like "%" signs and i have no idea what these mean.
if anyone can shed some light i would really appreciate it.

 채택된 답변

Chris
Chris 2022년 6월 19일
편집: Chris 2022년 6월 19일

0 개 추천

fopen is for low-level file operations you may not need.
Perhaps try
data = importdata('stud_ex.txt')
Which will give you a struct with three fields:
data: [7×4 double]
textdata: {7×1 cell}
rowheaders: {7×1 cell}
The row headers are irrelevant, since you don't have headers. But you could use data.data and data.textdata.
Split the data array into student IDs and grades.

댓글 수: 4

daniel slama
daniel slama 2022년 6월 20일
it's crazy how many more efficient tools there are out there to help you that the univercity courses never teach you lol.
thank you.
Chris
Chris 2022년 6월 20일
On the other hand, if the point of the lesson is to learn those things (which may be less efficient for you to program, but can run much faster if you know the exact format of the file and write a custom function for it), Mathworks has a nice summary here. fscanf, sscanf, etc, all have a format specification in common, which takes a bit of thinking to learn but can be quite powerful.
daniel slama
daniel slama 2022년 6월 20일
omg that is JUST what i needed. ty!
Chris
Chris 2022년 6월 20일
편집: Chris 2022년 6월 20일
You're welcome.
There are also intermediate steps you could take:
fid = fopen('stud_ex.txt','r'); % Open file and attach a handle to it
thisline = fgetl(fid);
parsedline = split(firstline);
studentnames{1} = parsedline{1};
% ... do something like this in a "while ~feof(fid)" loop
fclose(fid) % Release the file
Convert the lines to strings for even easier handling.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Data Import and Export에 대해 자세히 알아보기

제품

릴리스

R2020b

질문:

2022년 6월 19일

편집:

2022년 6월 20일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by