矩阵的svd分解ax 0:matlab中怎么表示这个
来源:百度文库 编辑:高考问答 时间:2024/05/11 16:23:29
Xij={0,1}
y={5,6,7,8,9,10}
y+Xij<=6 怎么表示
Xij={0,1} i=1,2,3 j=1,2,3,4,5,6,7,8
y+∑Xij≤6
y为正整数
y={5,6,7,8,9,10}
y+Xij<=6 怎么表示
Xij={0,1} i=1,2,3 j=1,2,3,4,5,6,7,8
y+∑Xij≤6
y为正整数
你需要的集合是 {(0,5), (0,6), (1,5)}
如果Xij和y是非零的正整数,还有个更简便的办法,如果Xij和y的数没限制,则我得思路是计算任意两个元素的和,然后从中找到小于等于6的元素对。
计算时候先由Xij和y得到两个矩阵
[0,1;0,1;0,1;0,1;0,1;0,1]和
[5,6,7,8,9,10;5,6,7,8,9,10]',然后计算和。
Xij=[0,1];
y=[5,6,7,8,9,10];
%计算任意两点的和
Xij_temp = padarray(Xij, length(y)-1, 'replicate','post');
y_temp = padarray(y, length(Xij)-1, 'replicate','post');
temp = Xij_temp + y_temp';
%从中找到小于等于6的座标
[ii, jj] = find(temp<=6);
%根据座标从原集合中找到元素。
result = [Xij(ii); y(jj)];
结果是
>>
result =
0 1 0
5 5 6
好复杂呀
俺不会