Optimization of a laminat using spline function

2 views (last 30 days)
Hello everyone!
I got the following problem.
I have to optimize the thickness of a laminat. The range is 0<t<=10mm. I have 3 cases, it is possible to calculate a tension vector from each case sig1=[x1, x2, x3, x4, x5, x6], sig2=..., sig3=... .The tension vectors are dependant on the thickness of the laminat.
Now i have the following conditions for each tension vector:
R1 < x1,x4 <R2; R3 < x2,x5 <R4, x3,x6 <R6
The aim is to find the minimal thickness of the laminat, which fullfills the conditions for each tension vector.
To solve this problem I have to use the spline function, but I dont really understand how to use it and what Input values I should use, respectively, to solve this problem
Thank you!

Answers (1)

Zuber Khan
Zuber Khan on 26 Sep 2024
Hi,
Splines can be used to smooth noisy data and perform interpolation. As per my understanding, you would need to use an optimization solver to minimize the thickness subject to given constraints. However, you can use spline interpolation to model how each component of the tension vector changes with thickness if the data points are discrete.
One way to do it is as follows:
% Spline interpolation for each component of tension vectors
spline_sig1 = @(t) arrayfun(@(i) interp1(t_range, sig1(:,i), t, 'spline'), 1:6,'UniformOutput',false);
% Here, 't_range' is range of thickness
The interp1 function is used for 1D interpolation of data points. For more information, you can refer to the following documentation:
Then, you can use an optimization function to minimize the thickness of laminat while satisfying all constraints. One such solver is fmincon, which is suitable for constrained optimization problems. To know more about fmincon, you can refer to the following documentation:
If you want to learn how to set up an optimization problem in MATLAB, you can check the following resource:
I hope it answers your query.
Regards,
Zuber

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!