Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Physics+matlab = hard

  1. Mar 20, 2006 #1
    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:
    t-scan: [0 1]
    Now the questions:
    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 cant 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 cant get this problem to work.....

    This is for problem #1
    Code (Text):

    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);

    It doesnt work...and I dont have any idea why...
    I have NO idea for Question #2,,,so any help would be greatly appreachiated :)
  2. jcsd
  3. Mar 20, 2006 #2
    because the size of t and a2 do not match.
  4. Mar 20, 2006 #3
    and how can I fix it?
    acceleration doesnt 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
  5. Mar 21, 2006 #4
    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.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook