Manual Matlab
Manual Matlab
1 Introduction
This calculation tool has been developed on the basis of the information presented in the article
‘Estimation of pile stiffness in non-homogeneous soils through Artificial Neural Networks’. The tool
consists in an ensembled model composed by 20 ANN, which, based on the input variables shown
below, allow to characterize the static stiffness of single piled foundations in non-homogeneous soils.
2 Requirements
• Operating System: Windows or GNU/Linux 64 bits.
• Dependencies: Matlab, Statistics and Machine Learning Toolbox and Deep Learning Toolbox.
To execute this tool is necessary to have in the same directory the two files that compose it, the file
model_monopile.mat that contains the ensembled model with the 20 ANN, and the class file
class_model_pile.m, with the functions to execute the model.
3 Input Variables
The tool is designed to work with dimensionless variables, nevertheless it admits dimensional vari-
ables transforming them before calculations. As shown in the article, the dimensional parameters
are:
• D: the diameter of the monopile.
• t: the monopile thickness.
• Delta: (1 − 2t
D)
• Er:
Ep
EsL
(1 − δ4 )
1
4 Output Variables
From the previous entries, the tool displays the lateral (Kh ), rocking (Kr ), cross-coupled swaying
(Khr ) and vertical (Kv ) stifnesses as shown in the matrix 1.
Fu Khh Khr 0 u
Fθ = Khr Krr 0 θ (1)
Fν 0 0 Kv ν
Being:
If working with dimensionless variables, the parameters used for stiffnesses are:
5 Data introduction
This tool is designed to work with the parameters set in the columns and the cases studies in the
rows. Likewise, the default orders are those shown in tables 1 and 2.
Dimensional Input
1st 2nd 3rd 4th 5th 6th 7th 8th 9th
D t L E_p nu_p E_s_L n_s gamma_s nu_s
Dimensionless Input
1st 2nd 3rd 4th 5th 6th 7th
Lr Delta Er vp vs ns gamma_s
However, as will be shown below, these settings can be changed. To execute the model, it is necessary
to introduce the next command:
model.eval(X,`transpose',A,`typevar',B,`order',C,`output',D);
Where:
• X is the matrix or the table containing the input data. If it is a table, the variable names must
match the default ones, regardless of the order.
• A allow to transpose the input data in case it is introduced with the cases in the columns and
the variables in the rows. The program admits ‘Yes’ and ‘No’, but by default it is set as ‘No’.
• B is the format of the input data. The tool only admits the entries ‘dimensional’ or ‘dimension-
less’, being set by default ‘dimensional’.
2
• C is the order of the input data. It only has to be introduced if the data order is different as the
shown above. This field have to be filled out enclosed in square brackets, with each parameter
enclosed by double quotation marks and separated by commas as shown below:
["D","t","L","E_p","nu_p","E_s_L","n_s","gamma_s","nu_s"]
• D is the type of output that wanted to be shown, the tool admits:
– ‘mean’ to display a mean of the results of all the ANN.
– ‘std’ to display the standard deviation of all the ANN.
– ‘both’, to show both the mean and the standard deviation.
– ‘all’ to show the results of each ANN.
By default, is set as ‘mean’. In case that ‘both’ is selected, the result will be a 3D matrix where the
first page contains the means and the second one the standard deviations.
Once the tool is executed it will show the results in the order listed in Table 3.
Dimensionless Case
1st 2nd 3rd 4th
Khh /K̂hh Khr /K̂hr Krr /K̂rr Kv /K̂v
Table 3: Results
6 Examples
6.1 Dimensionless case
In this example the following values will be taken:
• Lr = 50.00
• Delta = 1.00
• Er = 100.00
• vp = 0.25
• vs = 0.50
• ns = 0
• gamma_s = 1.00
The data (F) will be introduced as a matrix, where the cases are in the columns and the variables in
the rows, and the order is going to be:
["vs","Lr","gamma_s","Delta","ns","Er","vp"]
Therefore:
F=
0.50
50.00
1.00
1.00
0
100.00
0.25
Executing:
model.eval(F,`typevar',`Dimensionless',`transpose',`Yes',`order',
["vs","Lr","gamma_s","Delta","ns","Er","vp"])
The results obtained are:
2.6650 -1.8913 4.7116 5.4165
3
6.2 Dimensional case
In this example the following values will be taken:
• D=8
• t = 0.087
• L = 50
• E_p = 2 · 1011
• vp = 0.25
• E_s_L = 3.5325 · 108
• ns = 0.8
• gamma_s = 0
• vs = 0.49
The data (F) will be introduced as a table as shown below, and for the results are required to show
the mean and the standard deviation:
Executing:
model.eval(F,`output',`both');
Although, in this case the columns are not in order, due to all of them have the correct names, they
are reordered automatically. In this case the results are shown in:
7 Handling errors
A series of warning and error messages have been added to allow easy identification of problems
that may occur when using the tool.
• Errors
– Invalid argument in the variable type entry
– Invalid argument in the transpose entry
– Invalid argument in the order vector entry
– Invalid argument in the output entry
– Invalid number if variables entered (Matrix)
– Some variables are missing.
• Warnings
– Dimensionless parameters are out of range
4
7.1 Invalid argument in the variable type entry
This entry only admits ‘Dimensional’ or ‘Dimensionless’ inputs.
If the type of variable selected is ‘Dimensionless’, the tool will expect 7 numerical variables.
5
7.6 Some variables are missing (Table)
Depending if the table input data is dimensional or dimensionless the tool will expect the variable
names shown in the previous sections. If they do not match, it will show those missing.