Putting random values in for loop

1 Ansicht (letzte 30 Tage)
SAZZAD HOSSAIN
SAZZAD HOSSAIN am 24 Okt. 2012
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

Akzeptierte Antwort

Jonathan Epperl
Jonathan Epperl am 24 Okt. 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

Weitere Antworten (1)

Matt Kindig
Matt Kindig am 24 Okt. 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 Kommentar
SAZZAD HOSSAIN
SAZZAD HOSSAIN am 24 Okt. 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.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by