repeated condition in a for loop
Show older comments
N = 50000000;
f = 1E6;
DT = 1E-4;
for L = 1:N
T = DT*double(L); % period
a = 0.1;
b =40*T;
i want to add this condition here:
if 0<t<a*b
A = sin(2*pi*f*t)
elseif a*b<t<b
A = 0;
end
end
thsi condition should be repeated in the loop for each 40*T, knowing that we have 5000 periods
Answers (1)
Rik
on 1 Jun 2023
1 vote
Conditions like 0<t<a*b should be split in Matlab to 0<t && t<a*b.
Note that your code will be overwriting the result and that it relies on undefined variables.
If you want specific suggestions, you will have to explain what you want.
2 Comments
m m
on 1 Jun 2023
Rik
on 2 Jun 2023
Where exactly do you want to define t?
If you want to assign 0 to all other values, you can use the condition in the calculation itself:
A = sin(2*pi*f*t)*double(0<t && t<a*b);
This works for a scalar t.
What do you want to do next? How do you want to use the value of A next?
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!