Generating sinusoidal wave in MATLAB but I get STRAIGHT line instead??

8 views (last 30 days)
I am trying to learn about the signals and wave for awhile now, It worked at the beggining but when I added few lines I get now curved line, I know it meant to be easy but not sure whats wrong .. I am using possion distribution !
here is my code..
function S = trial(lambdaMax,lambda,T)
t = 0;
I = 0;
S = [];
u = rand;
t = t - log(u)/lambdaMax;
while t < T
u = rand;
if (u <= lambda(t)/lambdaMax)
I = I+1;
S(I) = t;
end
u = rand;
t = t - log(u)/lambdaMax;
end
this is the script to run it,,
lambdaMax=50;
T=1;
lambda =@(x) lambdaMax * sin(x);
S = trial(lambdaMax,lambda,T);
figure
hold on
plot(S,lambda(S),'*')
xlabel('t')
ylabel ('sin(x)')
  4 Comments
Jan
Jan on 26 Jun 2011
Well, as far as I remember the sinus *is* a curved line.
Naturally the computations are correct in the sense that Matlab interpretes the shown code correctly. So if you expect a different result, most likely your expectations are wrong.
Please take the time to formulate a question and explain the difference between "curved line" and "sin wave" with any details.
Susan
Susan on 26 Jun 2011
I mean just a straight line but just in different angle perhaps I should not use curved.. its actually straight line and the expected the usual sin curved waves

Sign in to comment.

Accepted Answer

Jan
Jan on 26 Jun 2011
If you call your function "trial" with T=2*pi you get a full period of a sinusidal curve. With T=1 you get just the first part, which looks almost straight, but it has a small curvature.

More Answers (0)

Categories

Find more on Mathematics and Optimization in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!