extracting subset array from a cell array

10 次查看(过去 30 天)
I have data with multiple values at each location x y z. I have stored this as a cell array as follows.
DataPoint{x,y,z} = [V1, V2 , V3, V4, V5, V6];
DataPoint{2,3,4}(1) works to extract the value V1 at point 2,3,4.
I want to extract the values of V1 for all the points as a 3D array.
valuesV1 = DataPoint{ :, :, : }(1);
gives the following error: "Expected one output from a curly brace or dot indexing expression, but there were 1000 results."
1) everything is numeric, is there a different structure other than cell array that would be better?
2) what is the correct syntax for this?
3) should I just make a loop to do this or would that be slower?

回答(1 个)

Ameer Hamza
Ameer Hamza 2020-4-29
Use cellfun()
valuesV1 = cellfun(@(x) x(1), DataPoint);

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

标签

产品


版本

R2016b

Community Treasure Hunt

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

Start Hunting!

Translated by