# Matlab, Three Dimensional plot of three charges

• MATLAB
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

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.

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.