MATLAB Answers

How to plot a graph using if function

15 views (last 30 days)
Seb apple
Seb apple on 15 Jul 2020 at 13:56
Edited: Adam Danz on 16 Jul 2020 at 15:43
Hi i am trying to plot a graph but not sure how to go about it. I want to plot a graph from my code of e against q where the value for absL(1) <= 1 is a shaded region or at least creates the boarder. this is my code so far i think i would use if function but not sure.
syms e q L
c= 1;
f(t)=(e-(2*q)*cos(2*t));
M=[0 1; -f(t) -c];
%*[x1; x2];
N=trace(M);
P=det(M);
(L^2)-(N*L)+P==0;
L(1) = (N+sqrt((N^2)-(4*P)))/2;
L(2) = (N-sqrt((N^2)-(4*P)))/2;
if abs(L(1)) <= 1

  0 Comments

Sign in to comment.

Answers (1)

Adam Danz
Adam Danz on 15 Jul 2020 at 14:03
Edited: Adam Danz on 16 Jul 2020 at 15:43
I don't see any plotting commands so I don't know what kind of plot you're trying to create.
The problem can likely be solved by indexing. Spend some time on that page. Indexing is one of the main features of matlab.
For example,
idx = abs(L) <= 1;
plot(q(idx),e(idx), 'ro')
hold on
plot(q(~idx),e(~idx), 'bo')

  0 Comments

Sign in to comment.

Tags