Subscripted assignment dimension mismatch
5 views (last 30 days)
Show older comments
hi i'm new to Matlab and i am working on a project in genetic algorithm. i'm getting an error saying Subscripted assignment dimension mismatch. can anyone tell me what does this error means. this is my objective function
function f = myfunction(x)
cc= (-138.71*log(x))+1727.1;
sv=0.1*cc;
i=0.06;
LT=15;
f(x) = ((cc*x)-((sv*x)*(1/((1+i)^LT))))*((i*(1+i)^LT)/(((i+1)^LT)-1));
0 Comments
Accepted Answer
Walter Roberson
on 14 Oct 2013
Why are you assigning the output to f(x) and not to f alone?
You should be considering whether x can ever be a 2D array. If it can, then your cc would be a 2D array, and then cc*x would be matrix multiplication rather than element-by-element multiplication; the same with sv*x
I note, by the way, that it would be more efficient to calculate (1+i)^LT once and then use the resulting variable three times in your f(x) instead of those several occurrences of the expression.
More Answers (0)
See Also
Categories
Find more on Genetic Algorithm 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!