Error: using fmincon with integral function
Afficher commentaires plus anciens
I am using integral and fmincon simultaneously but I am getting an error. I want to integrate magnitude wrt p and then optimize the objective function wrt to d.
%% Input
syms d p
G1 = 3e6
G0 = 1.25e8;
V0 = 250;
k0 = p/V0;
V1 = 316;
k1 = p/V1;
%% Calculation
D = [cos(k1*d) sin(k1*d)*p/(G1*k1)*1i; sin(k1*d)*(G1*k1)/p*1i cos(k1*d)];
L = [2*p/k0*cos(5*k0) sin(5*k0)*2*p/k0*1i; sin(5*k0)*2*G0*1i 2*G0*cos(5*k0)];
B = D*L;
B1 = B(1,1);
B2 = B(1,2);
B3 = B(2,1);
B4 = B(2,2);
Answer = (2*p*(B4-B3)-2*k0*G0*(B2-B1))/(k0*(B1+B2)*(B4-B3)-k0*(B4+B3)*(B2-B1));
magnitude = abs(Answer);
I = matlabFunction(amgnitude,"Vars",[p d]);
options = optimset('PlotFcns',@optimplotfval);
d0 = 0.5;
A = [];
b = [];
Aeq = [];
beq = [];
lb = 0;
ub = Inf;
nonlcon = [];
[s,fval] = fmincon(integral(I,0,10),d0,A,b,Aeq,beq,lb,ub,nonlcon,options); %minimize
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Solver Outputs and Iterative Display dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
