take the length of each row
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Brave A
am 20 Jan. 2023
Kommentiert: Walter Roberson
am 20 Jan. 2023
Hi
I have this file whih has values and 30 rows. I need to take the average of the length of each row for the attached file. How to do that? I tried but it gives the average among value and I need the length.
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 20 Jan. 2023
Bearbeitet: Walter Roberson
am 20 Jan. 2023
This code assumes that each line ends with a comma and that the number of "values" is equal to the number of commas. It assumes that there are no missing values on a row, and that no row ends in a numeric value.
S = readlines('https://www.mathworks.com/matlabcentral/answers/uploaded_files/1269270/val.txt');
numvals = cellfun(@length, regexp(S, ','))
mean(numvals)
1 Kommentar
Walter Roberson
am 20 Jan. 2023
Note: the difference in average between my results and The Cyclist, is because your file starts with a blank line, which is thus a line that contains zero values, and the zero is getting counted in the average.
Weitere Antworten (1)
the cyclist
am 20 Jan. 2023
There are probably a few ways to do this. Here is one, which relies on reading the file into a numeric array, which will pad the rows with NaN values.
val = readmatrix("https://www.mathworks.com/matlabcentral/answers/uploaded_files/1269270/val.txt");
mean(~isnan(val),2)
2 Kommentare
the cyclist
am 20 Jan. 2023
Sorry, I misread. I think this slight change to the above code does what you want.
val = readmatrix("https://www.mathworks.com/matlabcentral/answers/uploaded_files/1269270/val.txt");
rowCount = sum(~isnan(val),2)
meanRowCount = mean(rowCount)
Siehe auch
Kategorien
Mehr zu Environment and Settings finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!