Row index exceeds matrix dimensions
4 次查看(过去 30 天)
显示 更早的评论
Hi
I have a 143x4 matrix, which looks like this
A=[ 1 556037.025 6237642.046 5.964;
1 556037.035 6237642.041 5.960;
1 556037.028 623742.041 5.967;
2 556032.654 623730.067 10.368;
2 556032.652 623730.060 10. 364;
4 556042.000 623730.000 5.000;
4 556042.002 623730.005 5.010] ;
Column 1 is the point number, column 2-4 are X,Y,Z coordinates.
Each point is measured between 1 and 5 times.
My code is:
A=load('Test.txt');
A=sortrows(A);
T=array2table(A);
m=varfun(@mean,T,'GroupingVariables',1);
out=A;
out(:,2:end)=out(:,2:end) - m{A(:,1),3:end}
I get the error Row index exceeds table dimensions
I have tried to test different scenarios and the error occurs when a point is missing, for example if there is no point number 7, so the first column goes from 6 to 8.
Any idea what is wrong?
采纳的回答
Andrei Bobrov
2019-4-24
T = array2table(A);
m = varfun(@mean,T,'GroupingVariables',1);
out = A;
[~,~,ii] = unique(A(:,1));
out(:,2:end) = out(:,2:end) - m{ii,3:end};
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!