Generating sinusoidal wave in MATLAB but I get STRAIGHT line instead??
8 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Jan
le 26 Juin 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.
Réponse acceptée
Jan
le 26 Juin 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.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Mathematics and Optimization dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!