Matlab Vectors for optimization

1 Ansicht (letzte 30 Tage)
MM
MM am 27 Nov. 2020
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+C20. ... 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).

Antworten (1)

Sulaymon Eshkabilov
Sulaymon Eshkabilov am 27 Nov. 2020
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 Kommentare
MM
MM am 27 Nov. 2020
Bearbeitet: MM am 27 Nov. 2020
In this code randi([2, 13], Ntimes), shouldn't it be randi([2, 16], Ntimes), since A, B and C can take values from 2 to 16? Assuming A = 16, B and C needs to be greater than 1, therefore, only way is 16,2,2.
Also, what is Ntimes?
Also, I need the list to be in order, not any random values. Your help is appreciated. Thank you in advance. :)
Sulaymon Eshkabilov
Sulaymon Eshkabilov am 27 Nov. 2020
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.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Produkte


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by