take the length of each row

2 次查看(过去 30 天)
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.

采纳的回答

Walter Roberson
Walter Roberson 2023-1-20
编辑:Walter Roberson 2023-1-20
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, ','))
numvals = 34×1
0 50 37 43 45 71 86 84 79 84
mean(numvals)
ans = 69.8824
  1 个评论
Walter Roberson
Walter Roberson 2023-1-20
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.

请先登录,再进行评论。

更多回答(1 个)

the cyclist
the cyclist 2023-1-20
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)
ans = 30×1
0.5556 0.4111 0.4778 0.5000 0.7889 0.9556 0.9333 0.8778 0.9333 0.9667
  2 个评论
Brave A
Brave A 2023-1-20
I need how many values in each row then the average not the number of rows. I know they are 30 rows.
the cyclist
the cyclist 2023-1-20
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)
rowCount = 30×1
50 37 43 45 71 86 84 79 84 87
meanRowCount = mean(rowCount)
meanRowCount = 79.2000

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Environment and Settings 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by