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

Matlab code help

  1. Jun 27, 2011 #1


    User Avatar

    Hey everyone,

    I'm trying to create a plot in Matlab but just keep getting errors. It works very well in Mathematica but I want to learn some Matlab. However with all the errors I get I will probably stay with Mathematica. Maybe someone here can help me out.
    So, I'd like to create a plot of the formula 1/Sqrt(1-(v²/c²))
    It is OK to just replace c by 1 and I'd like to have a plot with v starting at 0.1 and going up to 0.99

    In Mathematica I type:
    Plot[1/(Sqrt [1 - (v^2/1^2)]), {v, 0.1, 0.99}, PlotRange -> Full]
    This gives the expected result.

    In Matlab I can assign a fixed value like 0.98 to v and I'm able to calculate the result using:

    However I have no idea how to plot this with v starting at 0.1 and going to 0.99
    I tried:

    I just keep getting mpower errors. I have absolutely no idea what to do.

    Can anybody help me out with this ?

    Many thanks in advance.
  2. jcsd
  3. Jun 27, 2011 #2

    Dr Transport

    User Avatar
    Science Advisor
    Gold Member

    x = 1./sqrt(1-(v.^2/1^2)) should work
  4. Jun 28, 2011 #3


    User Avatar

    Great, thanks for the help. This actually works and gives the same result as Mathematica. Can anyone tell me why those dot's need to be there ? Is there a rule or so about when to put a dot and where ?

  5. Jun 29, 2011 #4


    User Avatar
    Gold Member

    The dots indicate an element by element operation. In MATLAB, the operators *, /, ^ etc. default to matrix operations.
  6. Jun 29, 2011 #5


    User Avatar

    Thanks for the help. Does that mean that whenever I need *, /, ^, I need to enter a dot if it's not Matrix operations ?
  7. Jun 29, 2011 #6


    User Avatar
    Science Advisor

Share this great discussion with others via Reddit, Google+, Twitter, or Facebook