Error when calculating the distance between two three-dimensional points
1 次查看(过去 30 天)
显示 更早的评论
Hi,
I have a cell array that contains cells in which there are numerical arrays with 9 columns. In that numerical array the columns 1-3 are x, y, and z coordinates of point A. The columns 4-6 are x, y, and z coordinates of point B. And the columns 7-9 are x, y, and z coordinates of point C.
I wrote this code to measure the distances between point C and A.
for i = 1:numel(pre_xyz)
right_hand{i} = sqrt((pre_xyz{i}(:,7)-pre_xyz{i}(:,1)).^2 + (pre_xyz{i}(:,8)-pre_xyz{i}(:,2)).^2 + (pre_xyz{i}(:,9)-pre_xyz{i}(:,3)).^2);
end
But I get this error:
Operator '-' is not supported for operands of type 'cell'.
What is the easiest fix for this?
Thanks!
1 个评论
Walter Roberson
2023-5-8
I have a cell array that contains cells in which there are numerical arrays with 9 columns.
load pre_xyz
pre_xyz{1}(1:5,:)
No you do not. You have a cell array that contains cell arrays.
采纳的回答
Walter Roberson
2023-5-8
for i = 1:numel(pre_xyz)
this_pre = cell2mat(pre_xyz{i});
right_hand{i} = sqrt((this_pre(:,7)-this_pre(:,1)).^2 + (this_pre(:,8)-this_pre(:,2)).^2 + (this_pre(:,9)-this_pre(:,3)).^2);
end
0 个评论
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!