all function B = all(A < 0.5,3)
4 次查看(过去 30 天)
显示 更早的评论
This is straight forward to me:
A = [0.53 0.67 0.01 0.38 0.07 0.42 0.69]
B = all(A < 0.5,1)
this also makes sense -
A = [0.53 0.67 0.01; 0.38 0.07 0.42 ]
B = all(A < 0.5,2)
But why does this yield the same result?
A = [0.53 0.67 0.01 1.1; 0.38 0.07 0.42 0.01]
B = all(A < 0.5,3)
OR
B = all(A < 0.5,4)
1 个评论
Stephen23
2023-6-15
编辑:Stephen23
2023-6-15
"But why does this yield the same result?"
Consider the sub-arrays (i.e. vectors) along each of the specified dimensions: what values do they have in them? Remember that all arrays implicitly have infnite trailing singleton dimensions: the fact that each of those vectors for dimensions 3 and 4 happen to have one element in them is irrelevent, ALL applies its algorithm on that one element. It might help to revise this: https://www.mathworks.com/help/matlab/math/multidimensional-arrays.html
Lets consider the top left corner of your data:
A = [0.53 0.67 0.01 0.38 0.07 0.42 0.69];
A(1,1,:) % top left, all elements along 3rd dimension
A(1,1,1,:) % top left page1, all elements along 4th dimension
You can repeat this yourself for every other element in your matrix.
Question: what do you expect the result to be? Why?
回答(2 个)
the cyclist
2023-6-14
编辑:the cyclist
2023-6-14
The reason is that all MATLAB arrays have implied singleton dimension beyond the 2nd dimension, if they have not been actually specified.
A = [0.53 0.67 0.01 1.1;
0.38 0.07 0.42 0.01];
size(A,47)
0 个评论
Torsten
2023-6-14
移动:Torsten
2023-6-14
But why does this yield the same result?
Because A has only 2 dimensions, not 3 or 4. Thus "all" operates on all elements separately in both cases.
1 个评论
VBBV
2023-6-15
Thus "all" operates on all elements separately in both cases., Yes, thats correct. But if one uses 'all' option it would do only once.
A = [0.53 0.67 0.01 1.1; 0.38 0.07 0.42 0.01]
B = all(A < 0.5,'all')
B = all(A < 0.5,3)
B = all(A < 0.5,4)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrices and Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!