MATLAB PDETOOL Matlab - Plotting Linear Element?

AI Thread Summary
The discussion revolves around a user seeking assistance with a script in the PDE toolbox that generates surface plots of rectangles representing an electrostatic system. The user has successfully created a large rectangle and two smaller non-contacting rectangles, and now wants to extract specific data points from the surface plot, particularly at a given y-value (y=6), to create a corresponding x-y graph. The main challenge is accessing the data from the surface plot for manipulation. A suggested solution involves using MATLAB commands to retrieve the children of the figure and access the necessary data structure, specifically focusing on the 'Cdata' field to obtain the desired information. Further exploration of the structure's fields is recommended for additional insights.
BlueJay99
Messages
2
Reaction score
0
Hi,

I've written a script that creates a few rectangles and gives the surface plot in the PDE toolbox.

What I would like to do is to also plot the values for a linear element in the surface plot i.e. for a given value of x or y.

Any help or ideas would be greatly appreciated!

Jay
 
Physics news on Phys.org
To add more detail to my problem...

Using the pdetool I created 3 rectangles (using the first method you described), 1 large rectangle (R1) and 2 smaller rectangles (R2 and R3) that are within R1 but not in contact. By applying the formula R1-(R2+R3) and solving it as an electrostatic system in the toolbox I essentially get the cross-sectional surface plot of 2 electrodes (given below).

pdeexample-1.png


What I would now like to do is for example just look at the values at say y=6 and plot a simple x-y graph which would look something like below:

g587-2.png


I guess my fundamental problem is not being able to access the information from the surface plot to then manipulate the data. Any insight anyone has into the problem would be greatly appreciated!

Jay
 
You have to "get" the "grandchildren" of the figure.

you can use:

child = get(gcf,'Children')
grandchild = get(child,'Children')

then:

X = get(grandchild)

will give you a structure, X, from which you can pull components:

X.Cdata

wil probably then be the data you're looking for, but I'm not sure. Have a look at the fields of X.
 

Similar threads

Back
Top