How to generate all the possible data points in this 2D triangle?

1 vue (au cours des 30 derniers jours)
Salad Box
Salad Box le 18 Jan 2023
Modifié(e) : Salad Box le 18 Jan 2023
Hi,
I have a blue triangle in a 2-D V-S space.
How can I know the [s v] values of all the possible points within the blue triangle area?
  4 commentaires
Torsten
Torsten le 18 Jan 2023
s >=0
v >= 0
s + v <= 1
The blue region is characterized as the set of pairs (s,v) that satisfy all three constraints.
Never heard of linear programming ? Simplex algorithm ? Optimization under constraints ? Linprog ?
Salad Box
Salad Box le 18 Jan 2023
Modifié(e) : Salad Box le 18 Jan 2023
Sorry I am a beginner to Matlab and programming in general. I haven't heard of any of those terms before but I will find out.
But I think now I understand your algorithm/conditions.
I wrote something based on the logic you put down here.
s = linspace(0,1,20);
v = linspace(0,1,20);
sv = cartprod(s,v); % generate all the points in the square
% condition
idx = (sv(:,1) + sv(:,2))<=1; % s+v<=1
idx = find(idx == 1);
sv = sv(idx,:);
figure
plot(sv(:,1), sv(:,2),'.r')
and I plotted the sv it also worked perfectly.
I would like to thank you for your advice and its really valuable to me.

Connectez-vous pour commenter.

Réponse acceptée

KSSV
KSSV le 18 Jan 2023
P = [0 0 ; 0 1 ; 1 0] ; % vertices of triangle
m = 20 ; n = 20 ;
x = linspace(min(P(:,1)),max(P(:,1)),m) ;
y = linspace(min(P(:,2)),max(P(:,2)),n) ;
[X,Y] = meshgrid(x,y) ;
idx = inpolygon(X,Y,P(:,1),P(:,2)) ;
patch(P(:,1),P(:,2),'b')
hold on
plot(X(idx),Y(idx),'.r')
  1 commentaire
Salad Box
Salad Box le 18 Jan 2023
That is perfect. All I need to do is to modify the number 20 to another number depends on how many points I want. Thank you for your answer.:)

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by