need to print a matrix with a string
7 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Carly McKee
le 26 Oct 2018
Commenté : madhan ravi
le 29 Oct 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 commentaires
Stephen23
le 29 Oct 2018
Modifié(e) : Stephen23
le 29 Oct 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
Réponse acceptée
madhan ravi
le 26 Oct 2018
Modifié(e) : madhan ravi
le 26 Oct 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 commentaires
madhan ravi
le 29 Oct 2018
was convenient while calling thats why? any better enhancement is welcomed @stephen
Plus de réponses (1)
James Tursa
le 26 Oct 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 commentaires
Voir également
Catégories
En savoir plus sur Resizing and Reshaping Matrices dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!