Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- X = sym('X',[4,3]); % complex
- [sizeX, sizeY]=size(X);
- numZero = [1, 1, 2, 1];
- if any(numZero == sizeY)
- error('no all zero row.')
- end
- zeroLoc = arrayfun(@(x) randsample(sizeY, x), numZero, 'uni', false);
- count = histcounts(cat(1, zeroLoc{:}), 1:(sizeY+1));
- if any(count == sizeX)
- error('no all zero col.')
- end
- zeroFunc = cell(sizeX, 1);
- for i = 1:sizeX
- zeroFunc{i} = X(i, zeroLoc{i}) == 0;
- end
- zeroFunc = cat(2, zeroFunc{:});
- idenMatFunc = X' * X == eye(sizeY);
- Z = solve([idenMatFunc, zeroFunc], X);
- % Z =
- %
- % X1_1: [0x1 sym]
- % X2_1: [0x1 sym]
- % X3_1: [0x1 sym]
- % X4_1: [0x1 sym]
- % X1_2: [0x1 sym]
- % X2_2: [0x1 sym]
- % X3_2: [0x1 sym]
- % X4_2: [0x1 sym]
- % X1_3: [0x1 sym]
- % X2_3: [0x1 sym]
- % X3_3: [0x1 sym]
- % X4_3: [0x1 sym]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement