How to write struct dataype into a netCDF using ncwrite?
9 次查看(过去 30 天)
显示 更早的评论
Hi, I have a 1000 struct datatype (A) with two attributes (myB and myC): i.e
A(1).myB = [2D matrix]
A(1).myC = [1D array]
.
.
. A(1000).myB = [2D matrix]
A(1000).myC = [1D array]
How do I write this into a netCDF file using MATLAB? (using ncwrite etc)
0 个评论
回答(1 个)
Ashish Uthama
2012-3-27
As of today, MATLAB's netcdf layer does not support user defined data (C structs), variables need to be one of the defined external types.
With NetCDF files, the term 'attribute' usually refers to additional meta data for a variable.
How you write the data to the NetCDF file would largely depend on how you plan to use the data later. Is it to import data to another application? (In which case, the layout will be dictated by that that tools supports). Or is it just for storage? (in which case, mat files would be easier).
One way to look at your data is as if it has two variables, myB and myC with sizes 2Dx1000 (Say 20x30x1000) and 1Dx1000 (say 15x1000) respectively. Use nccreate to create these two variables and ncwrite to write them out. You would also have to name and create each of the dimensions of this variable. Have a look at the second example in ncwrite to get a better idea.
2 个评论
Ashish Uthama
2012-3-28
PJ, thats a whole new question :)
Format wise, I dont think you get faster than plain binary (fread/fwrite) combo.
There might be other things you can do to speed up the process which rely on your compute hardware (SSD's, RAID, or maybe ramdrives if you have enough memory)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 NetCDF 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!