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

조회 수: 7 (최근 30일)
Salad Box
Salad Box 2023년 1월 18일
편집: Salad Box 2023년 1월 18일
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
Torsten
Torsten 2023년 1월 18일
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 2023년 1월 18일
편집: Salad Box 2023년 1월 18일
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.

댓글을 달려면 로그인하십시오.

채택된 답변

KSSV
KSSV 2023년 1월 18일
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
Salad Box
Salad Box 2023년 1월 18일
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.:)

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Annotations에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by