Forget CVX for the moment. Just assign every “variable” (vector or matrix) some value in MATLAB. Then whatever expression you formulate, has to evaluate without error in MATLAB, including being conformal.Your u.*ker is not conformal. When you get that figured out, then try to implement it in CVX.

Well, it executes and produces a solution. As to whether your formulation is correct, it’s your model, so you should know better than people reading your post. Note that your statement u = 1/viewNum*ones(1,viewNum); is extraneous, since CVX does not use user-supplied starting values.

but I try “u = 1/viewNumones(1,viewNum);" and "u = 100/viewNumones(1,viewNum);” ,get different result.This show me that CVX is sensitive the starting values. This is different to your comment. Which is right?

I suspect you generated new random numbers, i.e., re-executed ker{1} = rand(6,6); etc., so you were solving different problem instantiations. If you re-run with the same random numbers and the same solver, and with or without your u assignment, you should get the same solution.