Multiple lines with fprintf

13 Ansichten (letzte 30 Tage)
Cole Rasmussen
Cole Rasmussen am 3 Apr. 2020
Kommentiert: dpb am 3 Apr. 2020
Hello, so I have a simple question, how do I make multiple lines with fprintf and not mess up the output? I tried making this code into multpile lines using fprintf:
for n=1:num
rowNum = rowNum + 1;
row = finalExp(rowNum, :);
scoreCheck1 = row(:, 3);
scoreCheck2 = row(:, 4);
if scoreCheck1 < scoreCheck2
fprintf('%02.0f/%02.0f %02.0f-%02.0f L %1.0f %2.0f %2.0f %1.0f %5.3f\n', ...
row)
else
fprintf('%02.0f/%02.0f %02.0f-%02.0f W %1.0f %2.0f %2.0f %1.0f %5.3f\n', ...
row)
end
end
but whenever I make the fprintf part a line down (between the %2.0f and the %1.0f) it messes up the output.
  8 Kommentare
Adam Danz
Adam Danz am 3 Apr. 2020
You may want to consider whether it's really necessary to print the help-info on the legend function every time you run the script.
dpb
dpb am 3 Apr. 2020
NB: You can use the vectorized operations of MATLAB to good effect...
s1 = stats(:, 1);
s2 = stats(:, 2);
s3 = stats(:, 3);
s4 = stats(:, 4);
sc1 = scores(:, 1);
sc2 = scores(:, 2);
batAve = (s3 ./ s1);
aveRound = round(batAve, 3);
...
sc1Ave = mean(sc1);
sc2Ave = mean(sc2);
s1Ave = mean(s1);
s2Ave = mean(s2);
s3Ave = mean(s3);
s4Ave = mean(s4);
aveAve = mean(aveRound);
ave = [sc1Ave, sc2Ave, s1Ave, s2Ave, s3Ave, s4Ave, aveAve];
...
can be simply
batAve = round(stats(:,3)./stats(:,1), 3);
ave=[mean(scores) mean(stats) mean(batAve)];
As general coding principal, avoid creating additional variables that are named sequentially--use the array indices instead to reference specific columns/rows and the vectorized abilities in ML to do operations over arrays/matrices. It's the power and reason for there being MATrixLABoratory.

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Kategorien

Mehr zu MATLAB Mobile Fundamentals finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by