MATLAB How to Correctly Plot 1/Sqrt(1-(v²/c²)) in Matlab?

  • Thread starter Thread starter mzu
  • Start date Start date
  • Tags Tags
    Matlab Plot
AI Thread Summary
The discussion focuses on how to plot the function 1/Sqrt(1-(v²/c²)) in Matlab, specifically for values of v ranging from 0.1 to 0.99. The user initially encounters errors while attempting to plot the function, which works correctly in Mathematica. A solution is provided, indicating that using element-wise operations with a dot (e.g., x = 1./sqrt(1-(v.^2/1^2))) resolves the errors. The need for these dots is explained as necessary for element-wise operations in Matlab, as opposed to default matrix operations. Understanding when to use these element-wise operators is crucial for successful plotting in Matlab.
mzu
Messages
9
Reaction score
0
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:
v=0.98
1/sqrt(1-(v^2/1^2))

However I have no idea how to plot this with v starting at 0.1 and going to 0.99
I tried:
v=0.1:0.01:0.99;
x=1/sqrt(1-(v^2/1^2))
plot(x)

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.
Michael
 
Physics news on Phys.org
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 ?

Regards,
Michael
 
The dots indicate an element by element operation. In MATLAB, the operators *, /, ^ etc. default to matrix operations.
 
Thanks for the help. Does that mean that whenever I need *, /, ^, I need to enter a dot if it's not Matrix operations ?
 

Similar threads

Back
Top