# iso18571

Combines different types of algorithms to get reliable and robust assessment between CAE and Test Data signals in the form of time history. Includes corridor, phase, magnitude, and slope which are calculated independently and then combined to give an overall ISO rating. The error calculation can be biased towards either the measured time history (Test) or the computed (CAE) time history, with the former being most common.

## Syntax

iso18571(inputstruct,refcurve,compcurves)

iso18571(inputstruct,refcurve,[compcurve1, compcurve2, compcurve3,...])

iso18571(inputstruct,[refcurve1,refcurve2,refcurve3,...],compcurves)

iso18571(inputstruct,[refcurve1,refcurve2,refcurve3,...],[compcurve1, compcurve2, compcurve3,...])

out1 = iso18571(...)

[out1,out2] = iso18571(...)

## Inputs

inputstruct
Struct with method parameters, if different from the default values. Only the parameters whose values are different from default need to be declared. If all default values should be used, an empty struct should be given in this argument.
a_thres
Threshold to set the start of the interval of evaluation. Varies between 0 and 1. Default: 0.03
Type: double
Dimension: scalar
b_thres
Threshold to set the end of the interval of evaluation. Varies between 0 and 1. Default: 0.075
Type: double
Dimension: scalar
a_eval
Automatically calculated interval of evaluation. Varies between 0 and 1. Default: 0.01
Type: double
Dimension: scalar
b_delta_end
Shortens the end of the interval of evaluation if it is calculated automatically. Varies between 0 and 1. Default: 0.2
Type: double
Dimension: scalar
t_min
Defines the starting time of the evaluation interval. Default: 'automatic'
Type: char | double
Dimension: scalar | string
t_max
Defines the ending time of the evaluation interval. Default: 'automatic'
Type: char | double
Dimension: scalar | string
a_sigma
Factors of the standard deviation to widen the inner corridor. Default: 0
Type: double
Dimension: scalar
b_sigma
Factors of the standard deviation to widen the outer corridor. Default: 0
Type: double
Dimension: scalar
y_norm
Type of calculation of Y_NORM; options include 'extremum' or value. Default: 'extremum'
Type: char | double
Dimension: scalar | string
Type: struct
refcurve
Reference curve(s). Minimum required input needs to be a 2-column matrix with X and Y reference data. Multiple pairs of curves can be given and every 2 columns will be considered as a different reference dataset.
If multiple reference curves are given, they are averaged to generate a single one that will be used in the calculation.
Type: double
Dimension: vector
compcurve
Comparison curve(s). Minimum required input needs to be a 2-column matrix with X and Y comparison data. Multiple pairs of curves can be given and every 2 columns will be considered as a different comparison dataset.
Type: double
Dimension: vector

## Outputs

out1
nx6 output. The n rows correspond to different correlation curves. The 6 columns correspond to overall rating, rank, corridor rating, E phase, E magnitude and E slope
Type: double
Dimension: matrix
out2
nx8 output. The n rows correspond to different correlation curves. The 8 columns correspond to inner correlation, outer correlation, T norm, T min, T max, T shift, Emag and Eslope
Type: double
Dimension: matrix

## Example

Usage of iso18571 with 1 reference curve and 3 comparison curves, using default parameter values.

refcurve1 = [1:20; 1:20']';
compcurve1 = [1:20; 31:50]';
compcurve2 = [1:20; 41:60]';
compcurve3 = [1:20; 51:70]';
inputstruct = struct();
[out1,out2] = iso18571(inputstruct,refcurve1,[compcurve1, compcurve2, compcurve3])
out1 = [Matrix] 3 x 6
0.33750  4.00000  0.00000  0.68750  0.00000  1.00000
0.33750  4.00000  0.00000  0.68750  0.00000  1.00000
0.33750  4.00000  0.00000  0.68750  0.00000  1.00000
out2 = [Matrix] 3 x 8
1.00000e+00  1.00000e+01  2.00000e+01  1.00000e+00  1.61900e+01  3.03800e+00  3.71901e+00  2.82260e-16
1.00000e+00  1.00000e+01  2.00000e+01  1.00000e+00  1.61900e+01  3.03800e+00  4.95868e+00  2.82260e-16
1.00000e+00  1.00000e+01  2.00000e+01  1.00000e+00  1.61900e+01  3.03800e+00  6.19835e+00  2.82260e-16

Usage of iso18571 with 3 reference curves and 1 comparison curve, setting the value of a_thres parameter.

refcurve1 = [1:20; 1:20']';
refcurve2 = [1:20; 11:30]';
refcurve3 = [1:20; 21:40]';
compcurve1 = [1:20; 31:50]';
inputstruct.a_thres = 0.1;
[out1,out2] = iso18571(inputstruct,[refcurve1,refcurve2,refcurve3],compcurve1)
out1 = [Matrix] 1 x 6
0.31975  4.00000  0.04938  0.50000  0.00000  1.00000
out2 = [Matrix] 1 x 8
2.50000  25.00000  50.00000  1.00000  20.00000  3.80000  0.53960  0.00000