Filter löschen
Filter löschen

Solve and plot system in x and y with varying constants e and t

56 Ansichten (letzte 30 Tage)
LUCA D'AMBROSIO
LUCA D'AMBROSIO am 1 Jul. 2024 um 17:51
Bearbeitet: Torsten am 2 Jul. 2024 um 14:36
hello,
i am having troubles solving the following problem:
solve and plot for x and y
x+y+e+t>=0
And
x*y-e*t>=0
where x and y are the two variables while e and t are two constants whose values has to vary in a range
i am trying to see the effect of e and t on the system represented by x and y.
basically i would like to obtain on the same graph different curves in x and y for a fixed number of combinations of e and t.
my code so far is:
n= 21;
x = linspace(-100, 100, n);
y = linspace(-100, 100, n);
[X, Y] = meshgrid(x, y);
a = 50;
b = 5;
e = linspace(-a, a, b);
t = linspace(-a, a, b);
Z = zeros(n, n);
for k = 1:b
for s = 1:b
b = X + Y + e(k) + t(s);
d = X.*Y - e(k).*t(s);
for i= 1:n
for j= 1:n
if b(i,j) >= 0
Z(i,j) = d(i,j);
else
Z(i,j) = -1;
end
end
v = [0, 0];
contour(X, Y, Z, v, 'LineWidth', 1.5)
grid on
hold on
end
end
end
Warning: Colon operands must be real scalars. This warning will become an error in a future release.
Warning: Colon operands must be real scalars. This warning will become an error in a future release.
Warning: Colon operands must be real scalars. This warning will become an error in a future release.
Warning: Colon operands must be real scalars. This warning will become an error in a future release.
could anybody please give me any suggestions on how to improve it, as the result so far is not what i expect.
thank you very much

Akzeptierte Antwort

Torsten
Torsten am 1 Jul. 2024 um 19:14
Verschoben: Torsten am 1 Jul. 2024 um 19:14
basically i would like to obtain on the same graph different curves in x and y for a fixed number of combinations of e and t.
Inequalities produce 2d-regions, not 1d-curves as feasible sets. That's why it is difficult or even impossible to find an understandable plot of more than one feasible region for different values of e and t in one graph.
  5 Kommentare
Torsten
Torsten am 2 Jul. 2024 um 13:44
Bearbeitet: Torsten am 2 Jul. 2024 um 14:25
Done (see above).

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 1 Jul. 2024 um 21:29
Verschoben: Walter Roberson am 1 Jul. 2024 um 21:30
for k = 1:b
for s = 1:b
b = X + Y + e(k) + t(s);
You redefine b, which was used as the limit of your for loops.

Kategorien

Mehr zu Multiobjective Optimization finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by