【发布时间】:2014-06-18 21:57:23
【问题描述】:
所以我有以下限制:
如何在 MATLAB 中高效地编写此代码?输入为x_mn、M 和N。集合B={1,...,N}和集合U={1,...,M}
我是这样做的(因为我写了x作为后续向量)
x=[x_11, x_12, ..., x_1N, X_21, x_22, ..., x_M1, X_M2, ..., x_MN]:
%# first constraint
function R1 = constraint_1(M, N)
ee = eye(N);
R1 = zeros(N, N*M);
for m = 1:M
R1(:, (m-1)*N+1:m*N) = ee;
end
end
%# second constraint
function R2 = constraint_2(M, N)
ee = ones(1, N);
R2 = zeros(M, N*M);
for m = 1:M
R2(m, (m-1)*N+1:m*N) = ee;
end
end
通过上面的代码,我将得到一个矩阵A=[R1; R2] 和0-1,我将得到A*x<=1。
例如M=N=2,我会有这样的东西:
然后,我将创建一个函数test(x),它根据x 返回真或假。
我想从你那里得到一些帮助并优化我的代码。
【问题讨论】:
标签: performance matlab optimization