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;
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

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.

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!