Clear Filters
Clear Filters

Putting random values in for loop

3 views (last 30 days)
Hi everyone
I am writing a program in which i am using the following loop.
for t = 1:1:81;
vv(t) = floor(+1*120*sin(2*pi*(t-1)/40));
end
The vales of vv are like 0,18,37...... However, i found that my program has some instability due to jumping directly from vv = 0 to vv = 18. Therefore, my intention is to keep the inputs for the loop as it is (otherwise it gets too long to run), but to put few more input values for vv. for example I want to start with 0, 1, 5, 9, 14, 18,37,....... Hence i need to put those 4 values in between 0 and 18 to bring stability into the result. Can anyone please help me.
Thanks in advance
Hossain

Accepted Answer

Jonathan Epperl
Jonathan Epperl on 24 Oct 2012
Do what Matt suggested:
VV = floor(+1*120*sin(2*pi*(t-1)/40));
Then add your extra values into VV:
VV = [VV(1) 1 5 9 14 VV(2:end)];
Then run your loop
for i=1:numel(vv) % presumably 85
vv = VV(i);
% your other code
end

More Answers (1)

Matt Kindig
Matt Kindig on 24 Oct 2012
Hi Sazzad,
First of all, you don't need the loop: you can just do it like this:
vv = floor(+1*120*sin(2*pi*(t-1)/40));
Second, can you just use a finer resolution of t, such as:
t= 1:0.1:81;
vv = floor(+1*120*sin(2*pi*(t-1)/40));
Now vv changes from 0 to 1 to 3 to 5, etc.
  1 Comment
SAZZAD HOSSAIN
SAZZAD HOSSAIN on 24 Oct 2012
Hi Matt
Thanks for the answer. The vv = floor (....) part is followed by a lot of other codes and it needs to be in a for loop. And i cannot use finer resolution. the current resolution i am using takes around 2 days to complete so i kind of want to stick to this resolution.
Thanks.

Sign in to comment.

Categories

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

Tags

Community Treasure Hunt

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

Start Hunting!