Create single array from multiple arrays in struct

6 次查看(过去 30 天)
HI, I am rather new to Matlab and am trying to perform some statistics on data I have in a structure. I have several hundred arrays of varying length for each index in the structure representing water levels from a storm (Storm.hydrograph). I want to be able to get the mean and standard deviation for all of the values from all storms. To do this, I am trying to generate a single list/array of all the water level points from every storm.
I have tried :
allHydro = [Storms.hydrograph]
but I get error messages because each of the arrays are of unique length.
Is there a way to get them all in one array? Or is there a way to perform statistics on them as they are in the structure? (I have already done statistics on them individually, but want statistics of all the values combined).
Thank you!
  2 个评论
Jan
Jan 2021-12-13
You have to clarify what you want to do mathematically. If the different arrays have different sizes, it ist not clear, what you want to do.
Storms(1).hydropgraph = 1:10
Storms(2).hydropgraph = 2:21
So what ou you wnt to achieve now? "Statistics over them" is not defined uniquely.
Autumn P
Autumn P 2021-12-14
They're all 1:n arrays. Where n varies. I want one big list of all the values and then I am going to get the mean and standard deviation of all said values.

请先登录,再进行评论。

采纳的回答

cr
cr 2021-12-14
Presuming the error you got is "Dimensions of arrays being concatenated are not consistent.", all data in column vectors may be concatenated using
allHydro = cat(1,Storms.hydrograph);

更多回答(0 个)

类别

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

产品

Community Treasure Hunt

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

Start Hunting!

Translated by