Matlab Vectors for optimization

1 visualizzazione (ultimi 30 giorni)
MM
MM il 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).

Risposte (1)

Sulaymon Eshkabilov
Sulaymon Eshkabilov il 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 Commenti
MM
MM il 27 Nov 2020
Modificato: MM il 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 il 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.

Accedi per commentare.

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Prodotti


Release

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by