Converting the Domain of an Array
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I have an array of m columns by n rows. The array corresponds to locations on a physical geometry, e.g. the value in cell [1,1] corresponds to the temperature at a physical x and y location. How do I convert my array into a function that can be plotted in the physical domain?
2 Commenti
jonas
il 5 Dic 2018
What do you mean? Do you want to fit a surface to your data, plot the scattered data points or interpolate and plot?
Risposta accettata
jonas
il 5 Dic 2018
Modificato: jonas
il 5 Dic 2018
Read about scatteredInterpolant and post some data if you need help. Using meshgrid and griddata would probably suffice, but your description leads me to believe scatteredInterpoland is what you're looking for.
Use surf(x,y,z) or contourf(x,y,z) to plot. Note that you must interpolate z to a rectangular grid first, using the functions suggested above.
3 Commenti
jonas
il 5 Dic 2018
I assume your example array denoted x is actually z-data? When you pass a single array to contour, then it is interpreted as z-data and the indices are interpreted as xy-data. You can also pass xy-data to contour, which in your case are spatial coordinates. This can be really easy, if your data is already gridded, and a little bit harder if your data is scattered.
Try this:
T = [1,2,3,4,5;6 7 8 9 10; 11 12 13 14 15];
x = linspace(0,0.25,5);
y = linspace(0,0.1,3)
contourf(x,y,T)
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Resizing and Reshaping Matrices in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!