Create single array from multiple arrays in struct
3 次查看(过去 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
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.
采纳的回答
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 Center 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!