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.

 Respuesta aceptada

Chris
Chris el 19 de Jun. de 2022
Editada: Chris el 19 de Jun. de 2022

0 votos

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 comentarios

daniel slama
daniel slama el 20 de Jun. de 2022
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 el 20 de Jun. de 2022
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 el 20 de Jun. de 2022
omg that is JUST what i needed. ty!
Chris
Chris el 20 de Jun. de 2022
Editada: Chris el 20 de Jun. de 2022
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.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Productos

Versión

R2020b

Preguntada:

el 19 de Jun. de 2022

Editada:

el 20 de Jun. de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by