當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Matlab AMPL SetInstance.setValues用法及代碼示例

classmethod SetInstance.setValues()

用法

setInstance.setValues(members)

說明

v = setInstance.setValues(members) 將數據分配給這個集合實例。

輸入參數

members

表示此集合成員的字符串和數字的單元格數組。

對於多維集合,members 數組的每一項必須是元胞數組或表示每一項的元組。

另一種表示允許將成員指定為扁平數組,其中每組 Set.arity 項目被分組以形成集合的每個成員。

示例

在 AMPL 中創建一個集合並從 MATLAB 為其分配一些數據

ampl.eval('set A;');
s = ampl.getSet('A').get();
s.setValues({4.2, '4.2', 'a', 'b'});
s.asSet

給出:

ans =
   [4.2, 4.2, a, b]

示例: 多維集

在 AMPL 中創建一個多維集,並使用元組和元胞數組從 MATLAB 為其分配一些數據。

ampl.eval('set A dimen 2;');
A = ampl.getSet('A').get();
A.setValues({ {1, 'a'}, {2, 'b'}});
A

% Alternative way, with tuples
ampl.eval('set B dimen 2;');
B = ampl.getSet('B').get();
t1 = Tuple({1, 'a'});
t2 = Tuple({2, 'b'});
B.setValues({t1, t2});
B

給出:

A =
 set A = {(1.0,'a'), (2.0,'b')};

B =
 set B = {(1.0,'a'), (2.0,'b')};

示例: 多維集合,平麵分配

在 AMPL 中創建一個多維集,並從 MATLAB 為它分配一些數據,使用一個元胞數組,其中每個 Set.arity 元素都被視為一個元組。

ampl.eval('set A dimen 3;');
A = ampl.getSet('A').get();
A.setValues({1, 'a', '1a', 2, 'b', '2b'});
A

給出:

set A = {(1.0,'a'), (2.0,'b')};

相關用法


注:本文由純淨天空篩選整理自ampl.com大神的英文原創作品 setValues()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。