# 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.
`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.
`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.

## 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
- 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

## 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
```