2016-03-29 4 views
1

Ich habe ein Problem in AMPL als Follow-up:eingerichteter Daten in MATLAB

Model 

set A; 
param B {A,A}; 

Data 

set A := 1 , 2 ; 

definiere ich nicht meinen param B in meinem Datenbereich und jetzt mag ich Wert von Param B in MATLAB definieren. Ich habe die Beispiele auf der AMPL-Website durchgesehen, funktioniert aber nicht. Ich will B wie folgt:

B = rand(2,2) 

kann mir jemand sagen, wie ich Sie bitte, dass in MATLAB tun kann?

Antwort

0

fand ich die Antwort zum Glück

zunächst das Modellteil und der Datenteil in MATLAB geladen werden soll. Dann können diese Befehle tun, um die gewünschte Aufgabe:

B = ampl.getParameter('B'); 
B.setValues(rand(2,2)); 
ampl.display('B') 
B := 
1 1 0.849129 
1 2 0.678735 
2 1 0.933993 
2 2 0.75774 

oder

B.getValues 

i1 i2 | val     
1.0 1.0 | 0.8491293058687771 
1.0 2.0 | 0.6787351548577735 
2.0 1.0 | 0.9339932477575505 
2.0 2.0 | 0.7577401305783334