你好,想请教您几个关于cvx的问题,谢谢! 5
m=20;n=10;A=randn(n,m);b=randn(n,1);c=randn(n,m);Q=randn(n,m);cvx_beginvariables(n)va...
m=20; n=10;
A=randn(n,m);
b=randn(n,1);
c=randn(n,m);
Q=randn(n,m);
cvx_begin
variable s(n)
variable x(m)
minimize 1/2*[s * Q * x+ c * x]
subject to
A * x + b == 0
cvx end
??? Error using ==> cvx.mtimes at 41
Inner matrix dimensions must agree.
Error in ==> minimize at 14
x = evalin( 'caller', sprintf( '%s ', varargin{:} ) );
m=16; n=8;
A=randn(m,n);
b=randn(m,1);
c=randn(m,n);
cvx_begin
variable x(n)
minimize(c * x)
subject to
A * x == b
cvx end
ans =
cvx positive constant expression (1x3 vector)
您好,我想知道这两个关于cvx的程序出错在哪? 展开
A=randn(n,m);
b=randn(n,1);
c=randn(n,m);
Q=randn(n,m);
cvx_begin
variable s(n)
variable x(m)
minimize 1/2*[s * Q * x+ c * x]
subject to
A * x + b == 0
cvx end
??? Error using ==> cvx.mtimes at 41
Inner matrix dimensions must agree.
Error in ==> minimize at 14
x = evalin( 'caller', sprintf( '%s ', varargin{:} ) );
m=16; n=8;
A=randn(m,n);
b=randn(m,1);
c=randn(m,n);
cvx_begin
variable x(n)
minimize(c * x)
subject to
A * x == b
cvx end
ans =
cvx positive constant expression (1x3 vector)
您好,我想知道这两个关于cvx的程序出错在哪? 展开
1个回答
展开全部
不知道你的s(n)和x(m)究竟是多少维的,
如果s(n)是n*1维,则s*Q=n*1*n*m,无法相乘
如果s(n)是1*n维,x(m)是m*1维,则
s * Q * x=+=1*n*n*m*m*1=1*1维
c * x=n*m*m*1=n*1维
两者维数不同无法相加
如果s(n)是n*1维,则s*Q=n*1*n*m,无法相乘
如果s(n)是1*n维,x(m)是m*1维,则
s * Q * x=+=1*n*n*m*m*1=1*1维
c * x=n*m*m*1=n*1维
两者维数不同无法相加
追问
你好,我认为s(n)是nXn维的,x(m)是mXm维的,有什么问题吗?谢谢你得解答
追答
如果x(m)是mXm维的,那么A * x + b = 0就没有意义,所以照你的题义,我觉得x(m)是mX1维的
来自:求助得到的回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询