Plot(x,y2) with if condition y1(x)
2 views (last 30 days)
Show older comments
Kacper Wybranski
on 26 Mar 2020
Commented: Kacper Wybranski
on 26 Mar 2020
Hello i've got stuck with some code.
What i want to get is this shape of two functions:
I know y function and how to draw it but i've got problem with y^2 function and its domain.

Here's my code
clc
clear all
close all
dt=0.01;
t=[0:dt:4*pi];
w=1;
A=2;
y1=A.*cos(t).*(sin(2.*w.*t)).^2;
y2=y1.^2
plot(t,y1,'r')
hold on
xlabel('time')
ylabel('Amplitude')
grid on
if y1>0
plot(t,y2,'og')
end
Sadly, i get only visual of y1 not y2 :(
What should I do using if statement or some other loops?
2 Comments
Accepted Answer
Fangjun Jiang
on 26 Mar 2020
You can check the output of y1>0. It's a vector so shouldn't be used in if statement.
what you need for y2 is
index=y1>0
plot(t(index),y2(index),'og')
0 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!