当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。