troble in applying for loop

I want to apply for loop. Below is my code. I have applied the for loop which is wrong. Here Length(t) is sample numbers. Here I want to create 'for' loop for a sample number 5 in particular. so how to change the for loop. Moreover, 'phi_sync' shoud be sample number of 5 and 'phi_acc' shoud be summation from 0 to 5 sample numbers.
fs = 200;
ts = 1/fs;
t = 0:ts:1-ts;
fc = 50;
S = cos(2*pi*fc*t); % equation 7.1 noisless
sigma = 1.8;
phi_sync = sigma * randn(1,length(t)); % random variable with gaussian distributed
phi_acc = sigma * randn(1,length(t)); % random variable with gaussian distributed
% h = 0;
for i=1:length(S)
h = phi_sync + phi_acc(i);
end

 Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 28 Jul 2015
Edited: Azzi Abdelmalek on 28 Jul 2015
k=0
h=zeros(size(1:5:numel(S)))
for ii=1:5:numel(S)
k=k+1
h(k)= phi_sync(ii) + phi_acc(ii);
end

7 Comments

Gey Aziz. Thanks for edit and reply. I want Phi_sync as only 5th element and phi_acc as summation from 1 to 5.
yes, its working. Thanks :)
Biladi, my name is Azzi not Aziz.
You don't need a for loop to do it
n=numel(t)
a=sigma * randn(1,n);
b=sigma * randn(1,n)
phi_sync = a(5)
phi_acc = sum(b(1:5))
hey Aziz, this is not exactly i am looking for, now i realised. :D. as i told u before i want Phi_sync as only 5th element and phi_acc as summation from 1 to 5.
Sorry Azzi, for mispelling your name :D. ya now i got my answer.
Hey Azzi, one more questoion. now i want to add this h = phi_sync(5) + phi_acc(sum(1:5). how to get this h using for loop from o to n.
I mean now h(5) = phi_sync(5) + phi_acc(sum(1:5). i want h(1) to h(n) and after that i need to add this h in a signal. S1 = cos(2*pi*fc*t + h) so i will get phase noise

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!