- Do you receive warning and/or error messages? If so the full and exact text of those messages (all the text displayed in orange and/or red in the Command Window) may be useful in determining what's going on and how to avoid the warning and/or error.
- Does it do something different than what you expected? If so, what did it do and what did you expect it to do?
- Did MATLAB crash? If so please send the crash log file (with a description of what you were running or doing in MATLAB when the crash occured) to Technical Support so we can investigate.
I want to do the optimization for response structure , can someone help me please?
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
clear;clc;
global Kx Ky Kz m Cx Cy Cz Kxt Kyt Kzt mt Cxt Cyt Czt xg L1x L2x L1y L2y L1z L2z j Beta
wx=2*pi/1.11;
wy=wx;
wz=wx*100;
m=100;
mt=5/100;
Kx=m*wx^2;
Ky=m*wy^2;
Kz=m*wz^2;
Cx=2*0.05*m*wx;
Cy=2*0.05*m*wy;
Cz=2*0.05*m*wz;
sigmax=0.01;
sigmay=0.001;
wxt=4.1/2;
wxt=wx;
wyt=wxt;
wzt=2.9*wxt+sigmay;
%wzt=32^0.5*wxt;
%wxt=3;
%wyt=wxt;
%wyt=4.5;
%mt=0.6;
whar=wxt;
%whar=wyt;
Kxt=mt*wxt^2;
%Kxt=21.6;
%Kyt=21.6/4*2.25;
Kyt=mt*wyt^2;
Kzt=mt*wzt^2;
L1x=0.17;
L2x=0.375-L1x;
L1y=0.17;
L2y=0.375-L1x;
L1z=0.215;
L2z=mt*9.81/Kzt;
%L2z=0.001;
L2=0.01;
L1=1.0;
%wxt=6;
%Lx=1.;
%Lz=1. -mt*9.81/Kyt;
Beta=0.0;
%mt is for TMD
Kisay=0.05;
%Kisay=0.020;
%mt is for TMD
Cxt=2*0.023*(Kxt/mt)^0.5*mt; Cyt=2*0.023*(Kyt/mt)^0.5*mt;Czt=2*0.018*(Kzt/mt)^0.5*mt;
w=1.39;
%--------------------------------------------------------------------------
A=2.1*0.2;
dt=.02;tf=30.;t=0:dt:tf;n=tf/dt;%tsp=time step; tf=final time;
%load('CHICHI0968.mat');%CHICHI0968.mat-max of elcentro=0.3487
%ug=9.81*CHICHI0968(2,1:n+1);%%ELCENTRO_NS0348;A*(wx*w)^2*sin(wx*w*t);
ug=A*sin(wxt*w*t);
xg=ug;
%--------------------------------------------------------------------------
x0N=[0.014 0 0 0 0 0 0 0 0 0 0 0];x0L=x0N;xjN(1,:)=x0N;xjL(1,:)=x0L;
for j=1:n
%for j=1:3500
tint=dt*[j-1 j];%tint=time interval
[tN,xN] = ode45(@nonlinearmodel_structure,tint,x0N);
xjN(j+1,:)=xN(length(tN),:);
x0N=xN(length(tN),:);
%[tL,xL] = ode45(@linearmodel,tint,x0L);
%xjL(j+1,:)=xL(length(tL),:);
%x0L=xL(length(tL),:);
j
end
%--------------------------------------------------------------------------
ux1=[xjN(:,1)];ux2=[xjN(:,2)];ux3=[xjN(:,3)];
save('Nolin.txt','xjN','-ASCII');
%ux1=[xjL(:,1)];ux2=[xjL(:,2)];
%uy1=[xjN(:,3) xjL(:,3)];uy2=[xjN(:,4) xjL(:,4)];
function dx=nonlinearmodel_structure(t,x)
global Kx Ky Kz m Cx Cy Cz Kxt Kyt Kzt mt Cxt Cyt Czt xg L1x L2x L1y L2y L1z L2z j Beta
dx = zeros(12,1);
dx(1)=x(7);
dx(2)=x(8);
dx(3)=x(9);
dx(4)=x(10);
dx(5)=x(11);
dx(6)=x(12);
%dx(1)=x(4);
%dx(2)=x(5);
%dx(3)=x(6);
%Vatar_x=((Lx+xx)^2+yy^2)^0.5;
% Vatar_y=((yy+mt*9.81/Kyt+Ly)^2+xx^2)^0.5;
dx(7)=1/m*(-Cx*x(7)-Kx*x(1)+...
-(-Cxt*(x(10)-x(7))...
-Kxt/2*( (x(4)-x(1))+L2x+(x(6)-x(3))^2*0.5*L1x/(L1x+L2x)^2+(x(5)-x(2))^2*0.5*L1x/(L1x+L2x)^2-(x(4)-x(1))*(x(6)-x(3))^2*L1x/(L1x+L2x)^3-(x(4)-x(1))*(x(5)-x(2))^2*L1x/(L1x+L2x)^3)...
+Kxt/2*(-(x(4)-x(1))+L2x+(x(6)-x(3))^2*0.5*L1x/(L1x+L2x)^2+(x(5)-x(2))^2*0.5*L1x/(L1x+L2x)^2+(x(4)-x(1))*(x(6)-x(3))^2*L1x/(L1x+L2x)^3+(x(4)-x(1))*(x(5)-x(2))^2*L1x/(L1x+L2x)^3)...
-Kyt/2*((x(4)-x(1))* (x(5)-x(2)) *L1y/(L1y+L2y)^2+(x(4)-x(1))*L2y/(L1y+L2y)+0.5*(x(4)-x(1))*(x(6)-x(3))^2*L1y/(L1y+L2y)^3- (x(4)-x(1)) *(x(5)-x(2))^2*L1y/(L1y+L2y)^3+0.5*(x(4)-x(1))^3*L1y/(L1y+L2y)^3)...
-Kyt/2*((x(4)-x(1))*(-(x(5)-x(2)))*L1y/(L1y+L2y)^2+(x(4)-x(1))*L2y/(L1y+L2y)+0.5*(x(4)-x(1))*(x(6)-x(3))^2*L1y/(L1y+L2y)^3-(x(4)-x(1))*(-(x(5)-x(2)))^2*L1y/(L1y+L2y)^3+0.5*(x(4)-x(1))^3*L1y/(L1y+L2y)^3)...
-Kzt*((x(4)-x(1))*(x(6)-x(3))*L1z/(L1z+L2z)^2+(x(4)-x(1))*L2z/(L1z+L2z)+0.5*(x(4)-x(1))*(x(5)-x(2))^2*L1z/(L1z+L2z)^3-(x(4)-x(1))*(x(6)-x(3))^2*L1z/(L1z+L2z)^3+0.5*(x(4)-x(1))^3*L1z/(L1z+L2z)^3)))...
-xg(j)*cos(Beta);
dx(8)=1/m*(-Cy*x(8)-Ky*x(2)+...
-(-Cyt*(x(11)-x(8))...
-Kyt/2*( (x(5)-x(2))+L2y+(x(6)-x(3))^2*0.5*L1y/(L1y+L2y)^2+(x(4)-x(1))^2*0.5*L1y/(L1y+L2y)^2-(x(5)-x(2))*(x(6)-x(3))^2*L1y/(L1y+L2y)^3-(x(5)-x(2))*(x(4)-x(1))^2*L1y/(L1y+L2y)^3)...
+Kyt/2*(-(x(5)-x(2))+L2y+(x(6)-x(3))^2*0.5*L1y/(L1y+L2y)^2+(x(4)-x(1))^2*0.5*L1y/(L1y+L2y)^2+(x(5)-x(2))*(x(6)-x(3))^2*L1y/(L1y+L2y)^3+(x(5)-x(2))*(x(4)-x(1))^2*L1y/(L1y+L2y)^3)...
-Kxt/2*((x(5)-x(2))* (x(4)-x(1))*L1x/(L1x+L2x)^2+(x(5)-x(2))*L2x/(L1x+L2x)+0.5*(x(5)-x(2))*(x(6)-x(3))^2*L1x/(L1x+L2x)^3-(x(5)-x(2))* (x(4)-x(1))^2*L1x/(L1x+L2x)^3+0.5*(x(5)-x(2))^3*L1x/(L1x+L2x)^3)...
-Kxt/2*((x(5)-x(2))*(-(x(4)-x(1)))*L1x/(L1x+L2x)^2+(x(5)-x(2))*L2x/(L1x+L2x)+0.5*(x(5)-x(2))*(x(6)-x(3))^2*L1x/(L1x+L2x)^3-(x(5)-x(2))*(-(x(4)-x(1)))^2*L1x/(L1x+L2x)^3+0.5*(x(5)-x(2))^3*L1x/(L1x+L2x)^3)...
-Kzt*((x(5)-x(2))*(x(6)-x(3))*L1z/(L1z+L2z)^2+(x(5)-x(2))*L2z/(L1z+L2z)+0.5*(x(5)-x(2))*(x(4)-x(1))^2*L1z/(L1z+L2z)^3-(x(5)-x(2))*(x(6)-x(3))^2*L1z/(L1z+L2z)^3+0.5*(x(5)-x(2))^3*L1z/(L1z+L2z)^3)))...
-xg(j)*sin(Beta);
dx(9)=1/m*(-Cz*x(9)-Kz*x(3)+...
-(-Czt*(x(12)-x(9))...
-Kzt*((x(6)-x(3))+L2z+(x(4)-x(1))^2*0.5*L1z/(L1z+L2z)^2+(x(5)-x(2))^2*0.5*L1z/(L1z+L2z)^2-(x(6)-x(3))*(x(4)-x(1))^2*L1z/(L1z+L2z)^3-(x(6)-x(3))*(x(5)-x(2))^2*L1z/(L1z+L2z)^3)...
-Kyt/2*((x(6)-x(3))* (x(5)-x(2))*L1y/(L1y+L2y)^2+(x(6)-x(3))*L2y/(L1y+L2y)+0.5*(x(6)-x(3))*(x(4)-x(1))^2*L1y/(L1y+L2y)^3-(x(6)-x(3))* (x(5)-x(2))^2*L1y/(L1y+L2y)^3+0.5*(x(6)-x(3))^3*L1y/(L1y+L2y)^3)...
-Kyt/2*((x(6)-x(3))*(-(x(5)-x(2)))*L1y/(L1y+L2y)^2+(x(6)-x(3))*L2y/(L1y+L2y)+0.5*(x(6)-x(3))*(x(4)-x(1))^2*L1y/(L1y+L2y)^3-(x(6)-x(3))*(-(x(5)-x(2)))^2*L1y/(L1y+L2y)^3+0.5*(x(6)-x(3))^3*L1y/(L1y+L2y)^3)...
-Kxt/2*((x(6)-x(3))* (x(4)-x(1))*L1x/(L1x+L2x)^2+(x(6)-x(3))*L2x/(L1x+L2x)+0.5*(x(6)-x(3))*(x(5)-x(2))^2*L1x/(L1x+L2x)^3-(x(6)-x(3)) *(x(4)-x(1))^2*L1x/(L1x+L2x)^3+0.5*(x(6)-x(3))^3*L1x/(L1x+L2x)^3)...
-Kxt/2*((x(6)-x(3))*(-(x(4)-x(1)))*L1x/(L1x+L2x)^2+(x(6)-x(3))*L2x/(L1x+L2x)+0.5*(x(6)-x(3))*(x(5)-x(2))^2*L1x/(L1x+L2x)^3-(x(6)-x(3))*(-(x(4)-x(1)))^2*L1x/(L1x+L2x)^3+0.5*(x(6)-x(3))^3*L1x/(L1x+L2x)^3)))...
-xg(j)*sin(Beta)*0.+mt/mt*9.81;
dx(10)=1/mt*(-Cxt*(x(10)-x(7))...
-Kxt/2*( (x(4)-x(1))+L2x+(x(6)-x(3))^2*0.5*L1x/(L1x+L2x)^2+(x(5)-x(2))^2*0.5*L1x/(L1x+L2x)^2-(x(4)-x(1))*(x(6)-x(3))^2*L1x/(L1x+L2x)^3-(x(4)-x(1))*(x(5)-x(2))^2*L1x/(L1x+L2x)^3)...
+Kxt/2*(-(x(4)-x(1))+L2x+(x(6)-x(3))^2*0.5*L1x/(L1x+L2x)^2+(x(5)-x(2))^2*0.5*L1x/(L1x+L2x)^2+(x(4)-x(1))*(x(6)-x(3))^2*L1x/(L1x+L2x)^3+(x(4)-x(1))*(x(5)-x(2))^2*L1x/(L1x+L2x)^3)...
-Kyt/2*((x(4)-x(1))* (x(5)-x(2)) *L1y/(L1y+L2y)^2+(x(4)-x(1))*L2y/(L1y+L2y)+0.5*(x(4)-x(1))*(x(6)-x(3))^2*L1y/(L1y+L2y)^3- (x(4)-x(1)) *(x(5)-x(2))^2*L1y/(L1y+L2y)^3+0.5*(x(4)-x(1))^3*L1y/(L1y+L2y)^3)...
-Kyt/2*((x(4)-x(1))*(-(x(5)-x(2)))*L1y/(L1y+L2y)^2+(x(4)-x(1))*L2y/(L1y+L2y)+0.5*(x(4)-x(1))*(x(6)-x(3))^2*L1y/(L1y+L2y)^3-(x(4)-x(1))*(-(x(5)-x(2)))^2*L1y/(L1y+L2y)^3+0.5*(x(4)-x(1))^3*L1y/(L1y+L2y)^3)...
-Kzt*((x(4)-x(1))*(x(6)-x(3))*L1z/(L1z+L2z)^2+(x(4)-x(1))*L2z/(L1z+L2z)+0.5*(x(4)-x(1))*(x(5)-x(2))^2*L1z/(L1z+L2z)^3-(x(4)-x(1))*(x(6)-x(3))^2*L1z/(L1z+L2z)^3+0.5*(x(4)-x(1))^3*L1z/(L1z+L2z)^3))...
-xg(j)*cos(Beta);
dx(11)=1/mt*(-Cyt*(x(11)-x(8))...
-Kyt/2*( (x(5)-x(2))+L2y+(x(6)-x(3))^2*0.5*L1y/(L1y+L2y)^2+(x(4)-x(1))^2*0.5*L1y/(L1y+L2y)^2-(x(5)-x(2))*(x(6)-x(3))^2*L1y/(L1y+L2y)^3-(x(5)-x(2))*(x(4)-x(1))^2*L1y/(L1y+L2y)^3)...
+Kyt/2*(-(x(5)-x(2))+L2y+(x(6)-x(3))^2*0.5*L1y/(L1y+L2y)^2+(x(4)-x(1))^2*0.5*L1y/(L1y+L2y)^2+(x(5)-x(2))*(x(6)-x(3))^2*L1y/(L1y+L2y)^3+(x(5)-x(2))*(x(4)-x(1))^2*L1y/(L1y+L2y)^3)...
-Kxt/2*((x(5)-x(2))* (x(4)-x(1))*L1x/(L1x+L2x)^2+(x(5)-x(2))*L2x/(L1x+L2x)+0.5*(x(5)-x(2))*(x(6)-x(3))^2*L1x/(L1x+L2x)^3-(x(5)-x(2))* (x(4)-x(1))^2*L1x/(L1x+L2x)^3+0.5*(x(5)-x(2))^3*L1x/(L1x+L2x)^3)...
-Kxt/2*((x(5)-x(2))*(-(x(4)-x(1)))*L1x/(L1x+L2x)^2+(x(5)-x(2))*L2x/(L1x+L2x)+0.5*(x(5)-x(2))*(x(6)-x(3))^2*L1x/(L1x+L2x)^3-(x(5)-x(2))*(-(x(4)-x(1)))^2*L1x/(L1x+L2x)^3+0.5*(x(5)-x(2))^3*L1x/(L1x+L2x)^3)...
-Kzt*((x(5)-x(2))*(x(6)-x(3))*L1z/(L1z+L2z)^2+(x(5)-x(2))*L2z/(L1z+L2z)+0.5*(x(5)-x(2))*(x(4)-x(1))^2*L1z/(L1z+L2z)^3-(x(5)-x(2))*(x(6)-x(3))^2*L1z/(L1z+L2z)^3+0.5*(x(5)-x(2))^3*L1z/(L1z+L2z)^3))...
-xg(j)*sin(Beta);
dx(12)=1/mt*(-Czt*(x(12)-x(9))...
-Kzt*((x(6)-x(3))+L2z+(x(4)-x(1))^2*0.5*L1z/(L1z+L2z)^2+(x(5)-x(2))^2*0.5*L1z/(L1z+L2z)^2-(x(6)-x(3))*(x(4)-x(1))^2*L1z/(L1z+L2z)^3-(x(6)-x(3))*(x(5)-x(2))^2*L1z/(L1z+L2z)^3)...
-Kyt/2*((x(6)-x(3))* (x(5)-x(2))*L1y/(L1y+L2y)^2+(x(6)-x(3))*L2y/(L1y+L2y)+0.5*(x(6)-x(3))*(x(4)-x(1))^2*L1y/(L1y+L2y)^3-(x(6)-x(3))* (x(5)-x(2))^2*L1y/(L1y+L2y)^3+0.5*(x(6)-x(3))^3*L1y/(L1y+L2y)^3)...
-Kyt/2*((x(6)-x(3))*(-(x(5)-x(2)))*L1y/(L1y+L2y)^2+(x(6)-x(3))*L2y/(L1y+L2y)+0.5*(x(6)-x(3))*(x(4)-x(1))^2*L1y/(L1y+L2y)^3-(x(6)-x(3))*(-(x(5)-x(2)))^2*L1y/(L1y+L2y)^3+0.5*(x(6)-x(3))^3*L1y/(L1y+L2y)^3)...
-Kxt/2*((x(6)-x(3))* (x(4)-x(1))*L1x/(L1x+L2x)^2+(x(6)-x(3))*L2x/(L1x+L2x)+0.5*(x(6)-x(3))*(x(5)-x(2))^2*L1x/(L1x+L2x)^3-(x(6)-x(3)) *(x(4)-x(1))^2*L1x/(L1x+L2x)^3+0.5*(x(6)-x(3))^3*L1x/(L1x+L2x)^3)...
-Kxt/2*((x(6)-x(3))*(-(x(4)-x(1)))*L1x/(L1x+L2x)^2+(x(6)-x(3))*L2x/(L1x+L2x)+0.5*(x(6)-x(3))*(x(5)-x(2))^2*L1x/(L1x+L2x)^3-(x(6)-x(3))*(-(x(4)-x(1)))^2*L1x/(L1x+L2x)^3+0.5*(x(6)-x(3))^3*L1x/(L1x+L2x)^3))...
-xg(j)*sin(Beta)*0.+mt/mt*9.81;
end
clear;clc;
global Kx Ky Kz m Cx Cy Cz Kxt Kyt Kzt mt Cxt Cyt Czt xg L1x L2x L1y L2y L1z L2z j Beta
wx=2*pi/1.11;
wy=wx;
wz=wx*100;
m=100;
mt=5/100;
Kx=m*wx^2;
Ky=m*wy^2;
Kz=m*wz^2;
Cx=2*0.05*m*wx;
Cy=2*0.05*m*wy;
Cz=2*0.05*m*wz;
sigmax=0.01;
sigmay=0.001;
wxt=4.1/2;
wxt=wx;
wyt=wxt;
wzt=2.9*wxt+sigmay;
%wzt=32^0.5*wxt;
%wxt=3;
%wyt=wxt;
%wyt=4.5;
%mt=0.6;
whar=wxt;
%whar=wyt;
Kxt=mt*wxt^2;
%Kxt=21.6;
%Kyt=21.6/4*2.25;
Kyt=mt*wyt^2;
Kzt=mt*wzt^2;
L1x=0.17;
L2x=0.375-L1x;
L1y=0.17;
L2y=0.375-L1x;
L1z=0.215;
L2z=mt*9.81/Kzt;
%L2z=0.001;
L2=0.01;
L1=1.0;
%wxt=6;
%Lx=1.;
%Lz=1. -mt*9.81/Kyt;
Beta=0.0;
%mt is for TMD
Kisay=0.05;
%Kisay=0.020;
%mt is for TMD
Cxt=2*0.023*(Kxt/mt)^0.5*mt; Cyt=2*0.023*(Kyt/mt)^0.5*mt;Czt=2*0.018*(Kzt/mt)^0.5*mt;
w=1.39;
%--------------------------------------------------------------------------
A=2.1*0.2;
dt=.02;tf=30.;t=0:dt:tf;n=tf/dt;%tsp=time step; tf=final time;
%load('CHICHI0968.mat');%CHICHI0968.mat-max of elcentro=0.3487
%ug=9.81*CHICHI0968(2,1:n+1);%%ELCENTRO_NS0348;A*(wx*w)^2*sin(wx*w*t);
ug=A*sin(wxt*w*t);
xg=ug;
%--------------------------------------------------------------------------
x0N=[0.014 0 0 0 0 0 0 0 0 0 0 0];x0L=x0N;xjN(1,:)=x0N;xjL(1,:)=x0L;
for j=1:n
%for j=1:3500
tint=dt*[j-1 j];%tint=time interval
[tN,xN] = ode45(@nonlinearmodel_structure,tint,x0N);
xjN(j+1,:)=xN(length(tN),:);
x0N=xN(length(tN),:);
%[tL,xL] = ode45(@linearmodel,tint,x0L);
%xjL(j+1,:)=xL(length(tL),:);
%x0L=xL(length(tL),:);
j
end
%--------------------------------------------------------------------------
ux1=[xjN(:,1)];ux2=[xjN(:,2)];ux3=[xjN(:,3)];
save('Nolin.txt','xjN','-ASCII');
%ux1=[xjL(:,1)];ux2=[xjL(:,2)];
%uy1=[xjN(:,3) xjL(:,3)];uy2=[xjN(:,4) xjL(:,4)];
12 commentaires
Walter Roberson
le 22 Mai 2023
Modifié(e) : Walter Roberson
le 22 Mai 2023
If you need to optimize over several variables at the same time, pack them into a vector. For example,
fun = @(Aw) cost_function(Aw(1), wx, Aw(2), t, xg(1, :), xjN, xjL, Beta);
lb = [0.01, 0];
ub = [0.1, 7.2];
options = optimoptions('ga', 'Display', 'iter', 'PlotFcn' ...
, @gaplotbestf, 'MaxGenerations', 3, 'PopulationSize', 3);
nvars = 2;
A_ = []; b_ = []; Aeq_ = []; beq_ = [];
nlcon_ = [];
[bestAw, fval] = ga(fun, nvars, A_, b_, Aeq_, beq_, lb, ub, nlcon_, options)
bestA = bestAw(1)
bestw = bestAw(2)
This would be for the case where you were optimizing over A and w simultaneously, and A and w are passed to different parameters, and wx, t, xg, xN, xjL, Beta are all constants
Réponses (0)
Voir également
Catégories
En savoir plus sur Surrogate Optimization dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!