Aeq must have two columns error???
Show older comments
this is my Aeq and beq:
swtOther_Aeq = [ 1 0 1 0 0 0 1 0 0 0 ]; swtOther_beq = [ 0.22 ];
yet matlab is telling me Aeq needs two columns.
I'm confused as to why. Can someone help me out? Thanks please.
3 Comments
Star Strider
on 28 May 2014
We need a bit more information. What function are you using, what equality constraints do you want to impose on your parameters, what are your parameters, what is your model, and what are your data?
You do not have to post all your code and data, but enough for us to have a context for your Question.
All of us are good, some of us are brilliant, but none of us are mind-readers.
Sameer
on 28 May 2014
Matt J
on 28 May 2014
If the variance is a quadratic function of the weights, you should use quadprog instead of fmincon.
Answers (1)
You are passing an x0 with only 2 elements. The length of x0(:) should equal 10.
13 Comments
Sameer
on 28 May 2014
Matt J
on 28 May 2014
Why not just
x0(1:swtN)=0.10;
Sameer
on 28 May 2014
Matt J
on 28 May 2014
What happened when you tried it?
Sameer
on 28 May 2014
Matt J
on 28 May 2014
If you found that it works, I think you've answered your own question. If the variable x0 does not exist yet, it can be defined with an assignement statement
x0(1:N)=targetvalue;
This is one way (a compact one) of creating a length-N vector whose every entry is targetvalue.
Sameer
on 28 May 2014
If you insist on using fmincon, you must tell it how to pass VCVMatx to objfun. One option would be to call fmincon as follows
VCVMatx=...whatever...;
fun=@(W) objfun(W,VCVMatx);
fmincon(fun,x0,...otherarguments...);
Sameer
on 28 May 2014
Sameer
on 28 May 2014
Matt J
on 28 May 2014
"inner matrix dimensions must agree"
These are the kinds of errors that you troubleshoot using the dbstop command.
Categories
Find more on Surrogate Optimization in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!