📄 sdmmat.m
字号:
function Y = sdmmat(x,m)% SDMMAT - given a vector x, produces a matrix Y s.t. x = vec(Y).% % Y = sdmmat(x,m) or Y = sdmmat(x) (the 2nd argument is optional)% % Given a vector of length m*n (default n=m)% this produces the m x n sparse matrix Y such that x = vec(Y).% In other words, x contains the columns of the% matrix Y, stacked below each other.%% SEE ALSO vec, mat and sdmvec. % This file is part of SeDuMi Interface 1.04 (JUL2002)% Last update : 9th September 2002% Copyright (C) 2002 Dimitri Peaucelle & Krysten Taitz% LAAS-CNRS, Toulouse, France% % This program is free software; you can redistribute it and/or modify% it under the terms of the GNU General Public License as published by% the Free Software Foundation; either version 2 of the License, or% (at your option) any later version.% % This program is distributed in the hope that it will be useful,% but WITHOUT ANY WARRANTY; without even the implied warranty of% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the% GNU General Public License for more details.% % You should have received a copy of the GNU General Public License% along with this program; if not, write to the Free Software% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. if nargin < 2 n = floor(sqrt(length(x))); m=n; if (n*n) ~= length(x) error('the input argument must be a vector of length n*n') endelseif m<=0 error('2nd input argument (number of rows) must be a positive integer');else mn = length(x); n = floor(mn/m); if (m*n) ~= length(x) etext=sprintf(['1st input argument must be a vector of length proportionnal to m\n'... 'where m is the 2nd input argument']); error(etext); end endY = reshape(x,m,n);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -