MATLAB Solving Physics+Matlab: Electric & Magnetic Fields

  • Thread starter Thread starter marko_4454
  • Start date Start date
  • Tags Tags
    Hard
AI Thread Summary
The discussion focuses on implementing a model of a charged particle in electric and magnetic fields using MATLAB. The user is struggling with simulating constant acceleration and plotting results, particularly due to issues with vector sizes in MATLAB. For the first question, it is suggested to plot individual components of acceleration rather than the entire vector at once, as the sizes do not match. The second question involves solving for specific electric and magnetic fields and plotting position and velocity curves, with hints provided about expected drift behavior. The user seeks assistance to resolve these MATLAB challenges effectively.
marko_4454
Messages
2
Reaction score
0
For one of my classes I need to implement a model of a charged particle that is giong through electric and magnetic fields.
I can assume these constants:
m=1
q=1
x(0)=0
t-scan: [0 1]
Now the questions:
1)
Simulate the constant acceleration analytic case and plot the result. Add the analytic result from the plot to demostrate the agreement. Assume, E0=[1 0 0] (also E0=E, so constant)
;;My answer: I know that it will be constant because solving for a you get q/m[E+ v' x B] and all of them are constant, but I can't plot it in Matlab, because I have NEVER used it...

2)Solve for E(x)= [5 0 0] B(x)=[0 0 20] v0=[1 1 1]. Plot the position and velocity curves. Observe and measure the ExB drift. (hint: note the vector direction of the drift) and compare it to the expected analytic result--> (which i think its like a sin/cos curve)

Please, I really need to get this done and I have tried it, but I can't get this problem to work...

This is for problem #1
Code:
E = [1 0 0]; % define Po
t=0:.5:1; % make a vector L with 100 elements evenly spaced from 0 to 10
B=[1 0 0];
v=[0 0 0];

a2 = E+cross(v,B);

figure;
plot(t,a2);
It doesn't work...and I don't have any idea why...
I have NO idea for Question #2,,,so any help would be greatly appreachiated :)
 
Physics news on Phys.org
because the size of t and a2 do not match.
 
and how can I fix it?
acceleration doesn't depend on time so it has to be constant...but how can I put it, so that I say to MATLAB that I want "a" to be a certain value throughout the whole time..
Thanks for you help
 
marko_4454 said:
For one of my classes I need to implement a model of a charged particle that is giong through electric and magnetic fields.
I can assume these constants:
m=1
q=1
x(0)=0
t-scan: [0 1]
Now the questions:
1)
Simulate the constant acceleration analytic case and plot the result. Add the analytic result from the plot to demostrate the agreement. Assume, E0=[1 0 0] (also E0=E, so constant)
;;My answer: I know that it will be constant because solving for a you get q/m[E+ v' x B] and all of them are constant, but I can't plot it in Matlab, because I have NEVER used it...

2)Solve for E(x)= [5 0 0] B(x)=[0 0 20] v0=[1 1 1]. Plot the position and velocity curves. Observe and measure the ExB drift. (hint: note the vector direction of the drift) and compare it to the expected analytic result--> (which i think its like a sin/cos curve)

Please, I really need to get this done and I have tried it, but I can't get this problem to work...

This is for problem #1
Code:
E = [1 0 0]; % define Po
t=0:.5:1; % make a vector L with 100 elements evenly spaced from 0 to 10
B=[1 0 0];
v=[0 0 0];

a2 = E+cross(v,B);

figure;
plot(t,a2);
It doesn't work...and I don't have any idea why...
I have NO idea for Question #2,,,so any help would be greatly appreachiated :)

For 1, are you trying to plot the magnitude of the acceleration, or a single direction?

You can do figure;plot(t,a2(1)) to see the x-direction acceleration, and similarly figure; plot(t,a2(2)) and figure; plot(t,a2(3)) to see the y and z acceleration components. Or you could do figure; plot(t,norm(a)) to see the magnitude of the acceleration. You are having problems beacuse a2 is just a vector with 3 components, so when you say plot(t,a2) it tries to put one of the a2 components with each t value, which won't work unless t is the same size, and even then it won't give you what you want.
 

Similar threads

Replies
1
Views
2K
Replies
4
Views
4K
Replies
1
Views
4K
Replies
10
Views
3K
Replies
2
Views
2K
Replies
5
Views
2K
Replies
4
Views
1K
Back
Top