Matlab, Three Dimensional plot of three charges

  • Context: MATLAB 
  • Thread starter Thread starter studentengie
  • Start date Start date
  • Tags Tags
    Charges Matlab Plot
Click For Summary
SUMMARY

The discussion centers on creating a three-dimensional plot in MATLAB to visualize three point charges defined by their coordinates (X, Y, Z) and magnitudes (Q). The user seeks guidance on plotting equipotential lines and electric field lines between these charges. Key MATLAB functions mentioned include scatter3 for plotting the points, with an example provided for inputting charge data into a 3x4 matrix. The conversation highlights the need for familiarity with MATLAB syntax and suggests starting with simpler plotting tasks to build confidence.

PREREQUISITES
  • Basic understanding of MATLAB syntax and functions
  • Knowledge of three-dimensional coordinate systems
  • Familiarity with electric charge concepts and field lines
  • Experience with matrix operations in MATLAB
NEXT STEPS
  • Learn how to use MATLAB's scatter3 function for 3D plotting
  • Research methods for plotting equipotential surfaces in MATLAB
  • Explore finite element and finite difference methods for charge simulations
  • Study MATLAB's capabilities for visualizing electric field lines
USEFUL FOR

This discussion is beneficial for students, researchers, and developers working with MATLAB who need to visualize electric fields and equipotential surfaces in three-dimensional space.

studentengie
Messages
3
Reaction score
0
What the program needs to do is quite simple, the problem is that I lack the knowledge needed to program in matlab.

I know how to program in assembly and C++ and that's about it, this would not be a problem for me if my University gave formal courses in how to use Matlab.

Here is what the program needs to be able to do.

It must accept the locations of three points on a three dimensional plot XYZ, as welll as having certain 'intensities' or 'magnitudes' that signify their charge

Point 1 (X,Y,Z) and Q
Point 2 (X,Y,Z) and Q
Point 3 (X,Y,Z) and Q

as well as plotting these three points, the intensities are suppose to affect the following that must be plotted as well.

Equipotential lines between the point charges
Electric field lines between the point charges
 
Physics news on Phys.org
What approach would you take in C++?

This looks like something that could be done with the finite element or finite difference (?) method. But I guess there's an easier or analytic way you have in mind.

Conceptually Matlab isn't much different from C++, just without the objects (I think?), and some conveniences for math, especially its matrices, which are really arrays but with lots of handy ways to operate on them.

I think you should write a simpler program first, like just plot a function to get familiar with the syntax.

Wouldn't you have equipotential planes in 3D, not lines?
 
What type of plots do you have in mind? If you input your three positions + charge as a 3x4 matrix (each row = a charge), call it A, you can make a 3d scatter graph using something like

Code:
A = [2,1,3,7;1,2,3,3;0,2,1,20];
scatter3(A(1,1:3), A(2,1:3), A(3,1:3), 100*A(:,4),'x')

The first three arguments are the x, y, z coordinates (vectors with numel = number of points you want to scatter), the 4th argument is the markersize - bigger charges could be represented by bigger crosses.

Regarding surface equipotentials and electric field lines, it may be possible to plot on one graph but the image will probably be very confusing.
 
MikeyW said:
What type of plots do you have in mind? If you input your three positions + charge as a 3x4 matrix (each row = a charge), call it A, you can make a 3d scatter graph using something like

Code:
A = [2,1,3,7;1,2,3,3;0,2,1,20];
scatter3(A(1,1:3), A(2,1:3), A(3,1:3), 100*A(:,4),'x')

The first three arguments are the x, y, z coordinates (vectors with numel = number of points you want to scatter), the 4th argument is the markersize - bigger charges could be represented by bigger crosses.

Regarding surface equipotentials and electric field lines, it may be possible to plot on one graph but the image will probably be very confusing.


Basically I am looking to make a three dimensional plot, X Y Z axis...I know this is extraordinarily confusing but my professor didn't give me a lot to work with here, he just laid out in so few words what needed to be accomplished.
 
At this point I am a week before finals, I am most likely going to have to write a design document for the program and explain what it would do and how it would do it, and hope for the best.
 

Similar threads

  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 14 ·
Replies
14
Views
4K
  • · Replies 6 ·
Replies
6
Views
4K
  • · Replies 1 ·
Replies
1
Views
4K
  • · Replies 2 ·
Replies
2
Views
3K
Replies
2
Views
3K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 1 ·
Replies
1
Views
3K