slp error matlab function
1 view (last 30 days)
Show older comments
I have error on my code.This slp method to minimize function
clear;
clc;
x=[1;1];
dxlb=[-1;-1];
dxub=[1;1];
Tolx=0.01;
TolCon=0.01;
[f,g]=f_SLPclass(x);
[gradf,gradg]=g_SLPclass(x);
coverged=false;
iter=0;
while converged
c=gradf';
a=gradg';
b=-g;
dx=linprog(c,a,b,[],[],dxlb,dxub);
x=x+dx;
[f,g]=f_SLPclass(x);
[gradf,gradg]=g_SLPclass(x);
iter=iter+1;
converged=max(abs(dx)<Tolx)&& max(g)<TolCon;
end
fprintf('\n number of iteration %f\n',iter);
fprintf('\n Optimum Point: (%f,%f,%f,%f,%f)\n',x1,x2,x3,x4,x5);
Accepted Answer
Matt J
on 8 Mar 2021
Edited: Matt J
on 8 Mar 2021
Your functions f_ and g_SLPclass have missing parts.
function [f,g]=f_SLPclass(x) %return outputs
assert(length(x)==5, "x should be 5 elements long, but instead it is length " + length(x));
xcell=num2cell(x);
[x1,x2,x3,x4,x5]= deal(xcell{:});
f=0.0624*(x1+x2+x3+x4+x5);
g=-1+61/x1^3 +37/x2^3 +19/x3^3 +7/x4^3 +1/x5^3;
end
More Answers (0)
See Also
Categories
Find more on Assembly in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!