Creating a variable referencing specific cells from a cell variable with 30 structures?

4 次查看(过去 30 天)
I have a variable that I converted to a cell. This variable is a 1x30 cell with 30 structures within it. (I had multiple levels) Each structure is a set of data (3000x20).
I want to create a new variable that contains that 3000th row, 1st column from each of those structures (3000,1).
I've tried X = Variable30Structures {:,1}{3000,1} However I get a message "matlab Expected one output from a curly brace or dot indexing expression, but there were 30"
I'm sure there is a simple way to do this, but I'm stuck as I've never tried this before.
Any help would be appreciated! Thank you
  1 个评论
Stephen23
Stephen23 2018-4-2
编辑:Stephen23 2018-4-2
You write that "This variable is a 1x30 cell with 30 structures within it", but then your example does not refer to any structure field: is this an actual MATLAB structure, or are you using the word "structure" just to describe "some organization of data" ? If it really is a structure, what fieldname is required to access that data?
"I have a variable that I converted to a cell"
Why? What form did the data have beforehand?

请先登录,再进行评论。

回答(1 个)

Stephen23
Stephen23 2018-4-2
编辑:Stephen23 2018-4-2
Assuming that by "structure" you really just mean "array", and C is your cell array, then this might work for you:
tmp = cat(3,C{:});
out = tmp(3000,1,:)
You should read these too, they explain why your attempt does not work:

类别

Help CenterFile Exchange 中查找有关 Structures 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by