repeated condition in a for loop

4 views (last 30 days)
m m
m m on 1 Jun 2023
Commented: Rik on 2 Jun 2023
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
Rik on 1 Jun 2023

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
Rik
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?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!