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

Discussion Overview

The discussion revolves around creating a MATLAB program to visualize three point charges in a three-dimensional space, including their positions and magnitudes, as well as plotting equipotential lines and electric field lines. The conversation touches on programming challenges, plotting techniques, and conceptual understanding of the physics involved.

Discussion Character

  • Technical explanation
  • Conceptual clarification
  • Homework-related

Main Points Raised

  • One participant expresses a lack of MATLAB knowledge and outlines the program's requirements, including inputting positions and charges of three points and plotting their interactions.
  • Another participant suggests that a finite element or finite difference method might be appropriate and encourages starting with simpler plots to familiarize with MATLAB syntax.
  • A participant proposes a specific MATLAB code snippet for creating a 3D scatter plot of the charges, indicating how to represent the charges with varying marker sizes based on their magnitudes.
  • There is a question about whether equipotential surfaces or planes should be considered in 3D, rather than lines, indicating a conceptual clarification on the nature of the plots.
  • A participant mentions the potential confusion of plotting both equipotential surfaces and electric field lines on the same graph.
  • Another participant indicates urgency due to an approaching deadline for a design document related to the program.

Areas of Agreement / Disagreement

Participants have not reached a consensus on the best approach to implement the program or the specific types of plots to create. There are differing views on the representation of equipotential surfaces versus lines, and the complexity of the visualizations is acknowledged but remains unresolved.

Contextual Notes

Participants express uncertainty regarding the programming aspects in MATLAB, the appropriate methods for visualizing the electric fields and potentials, and the clarity of the requirements provided by the professor.

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
3K
  • · 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