Create single array from multiple arrays in struct

2 次查看(过去 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 中查找有关 Logical 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by