MATLAB:获取向量结构的最小x值
我有一个结构,有一个名为positions containing vectors的字段。 e、 g: 在不使用for循环的情况下,我想要得到最小的x,y和z位置 ->[1,1,-3] 这可能吗?你需要 然后,将该向量转换为MATLAB:获取向量结构的最小x值,matlab,struct,Matlab,Struct,我有一个结构,有一个名为positions containing vectors的字段。 e、 g: 在不使用for循环的情况下,我想要得到最小的x,y和z位置 ->[1,1,-3] 这可能吗?你需要 然后,将该向量转换为Nx3。为行数提供一个空数组,告诉MATLAB自动计算行数,因此我们有三列: positions = reshape(positions, [], 3) % positions: % 1 2 3 % 3 2 1 % 3 0 -3 然后,找到
Nx3
。为行数提供一个空数组,告诉MATLAB自动计算行数,因此我们有三列:
positions = reshape(positions, [], 3)
% positions:
% 1 2 3
% 3 2 1
% 3 0 -3
然后,找到
你需要
然后,将该向量转换为Nx3
。为行数提供一个空数组,告诉MATLAB自动计算行数,因此我们有三列:
positions = reshape(positions, [], 3)
% positions:
% 1 2 3
% 3 2 1
% 3 0 -3
然后,找到
也许你可以试试下面的
vertcat
>> min(vertcat(mystruct.position),[],1)
ans =
1 1 -3
在哪里
也许你可以试试下面的
vertcat
>> min(vertcat(mystruct.position),[],1)
ans =
1 1 -3
在哪里
“不使用for循环”如果这些向量很大和/或有很多向量,那么创建中间数组以允许您在不使用循环的情况下执行此操作将比使用循环昂贵得多。不要害怕循环,在决定哪一个更快之前,始终将向量化方法的时间与普通的旧循环进行比较,以获得有意义的用例。您会多次感到惊讶。“不使用for循环”如果这些向量很大和/或有很多向量,那么创建中间数组以允许您在不使用循环的情况下执行此操作将比使用循环昂贵得多。不要害怕循环,在决定哪一个更快之前,始终将向量化方法的时间与普通的旧循环进行比较,以获得有意义的用例。你会惊讶很多次。太棒了,谢谢你,工作起来像个魔咒。谢谢你,工作起来像个魔咒
>> min(vertcat(mystruct.position),[],1)
ans =
1 1 -3
>> vertcat(mystruct.position)
ans =
1 3 3
2 2 0
3 1 -3`