Converting Table into a Gridded Array for Use with 'griddedInterpolant'
4 views (last 30 days)
Show older comments
I am needing some help coming up with a solution to a problem. I have a large dataset that is being read into Matlab using 'readtable' and stored as variable 'C'. The dataset is generated externally and has the following format:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/621838/image.png)
where C is a function of the other variables ( C = f(a1, a2, a3, ..., an) ). All of the 'a' variables are doubles. The number of 'a' variables, n, however is dependent upon the dataset being processed but will always be greater than or equal to 2 (n >= 2).
How would I go about converting this table into an array that works with 'griddedInterpolant'? The complete dataset provides all of the information needed to create a gridded data set. The downstream process currently relies on 'griddedInterpolant', however changes could be made if it would improve the overall performance. For reference, the downstream process takes the dataset, refines it, and then uses that refined data to generate the final results.
I have tried using 'unique' on each of the 'a' variables to obtain the inputs required for 'ndgrid', however when I attempt to 'reshape' the 'C' array I end up corrupting the data.
Thanks for any help that you can provide.
1 Comment
Abdullah
on 22 Mar 2024
Moved: Dyuman Joshi
on 22 Mar 2024
Hello Jonathan
did you find the answer of your question? i am searching for the same problem
Answers (1)
Aghamarsh Varanasi
on 25 May 2021
Hi,
You can access the data in a table in the form of a matrix using the syntax, T.Variables. For example,
ctable = readtable(); % let ctable be the variable in which the table is stored
ctableMatrix = ctable.Variables; % gives the table data as a matrix
Hope this helps
0 Comments
See Also
Categories
Find more on Tables in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!