Clear Filters
Clear Filters

extracting subset array from a cell array

10 views (last 30 days)
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?

Answers (1)

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

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Tags

Products


Release

R2016b

Community Treasure Hunt

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

Start Hunting!