need to print a matrix with a string
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Carly McKee
el 26 de Oct. de 2018
Comentada: madhan ravi
el 29 de Oct. de 2018
I have a structure composed of 3 students that have a letter for a last name, 3 quiz grades in a matrix, and a few more things. Im supposed to write a for loop to print just the last name and the quiz grades but that means printing a string and a matrix. This is what I tried.
for i=1:3
fprintf('%s %d\n',student(i).lastname,student(i).quiz)
my question is basically how do I print a string with a matrix?
2 comentarios
Stephen23
el 29 de Oct. de 2018
Editada: Stephen23
el 29 de Oct. de 2018
This is MATLAB, so loops are totally superfluous:
>> S(1).name = 'anna';
>> S(1).quiz = 3;
>> S(2).name = 'bob';
>> S(2).quiz = 4;
>> S(3).name = 'cathy';
>> S(3).quiz = 2;
>> C = [{S.name};{S.quiz}];
>> fprintf('%10s %d\n',C{:})
anna 3
bob 4
cathy 2
Respuesta aceptada
madhan ravi
el 26 de Oct. de 2018
Editada: madhan ravi
el 26 de Oct. de 2018
or like this maybe?:
student(1).lastname='alex ';
student(1).quiz='3';
student(2).lastname='bob ';
student(2).quiz='4';
student(3).lastname='Alonso ';
student(3).quiz='2';
for i=1:3
string([student(i).lastname,student(i).quiz])
end
COMMAND WINDOW DISPLAYS:
>>
ans =
"alex 3"
ans =
"bob 4"
ans =
"Alonso 2"
>>
4 comentarios
madhan ravi
el 29 de Oct. de 2018
was convenient while calling thats why? any better enhancement is welcomed @stephen
Más respuestas (1)
James Tursa
el 26 de Oct. de 2018
Assuming there are three grades in the quiz field, maybe this will work for you
fprintf('%s %d %d %d\n',student(i).lastname,student(i).quiz)
If not, then give us a short example of your structure and what you would like for output.
0 comentarios
Ver también
Categorías
Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!