Matlab Vectors for optimization
조회 수: 1 (최근 30일)
이전 댓글 표시
I have three variables, A, B and C. Which are used to create a matrix such that:
Matrix = [A B C], the elements when added should be equal to or less than 20.
i.e A+B+C≤ 20. ... Condition (1)
However, A , B and C each must be greater than 1. .... Condition (2)
I need to create a list of such matrices that follow the above mentioned conditions.
Additional Detail. - The purpose of above matrix list.
I am going to use that list to run another program(P1 for instance), where A,B and C are my input and I will receive an output(O1), I desire to use the corresponding matrix that gives me max of that output(O1).
댓글 수: 0
답변 (1개)
Sulaymon Eshkabilov
2020년 11월 27일
Easy solution would be to employ: randi([2, 13], Ntimes) to generate A, B, C; Sum them up: A+B+C; Compare the summation value against 20 to verify condition (1). Afterwards, you can perform the comparison of the summation values: A+B+C.
댓글 수: 2
Sulaymon Eshkabilov
2020년 11월 27일
Your condition (2): A> 1, B>1, C> 1, i.e. A+B+C >=6. And your condition (1): A+B+C<=20. Thus, randi([2, 13], Ntimes) should be randi([2, 16], Ntimes). Ntimes is how many data points you'd need to generate.
If they need to be in order, then you can generate them easily with:
A =2:16; B = A; C = A; % Row vectors
Note they are integers, you may need to generate them as a rational numbers as well, i.e.
A = (1.1:0.1:16)'; B = A; C = A; % Column vectors
Sum them up
Compare them against 20.
참고 항목
카테고리
Help Center 및 File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!