cora

Calculates correlation metric between CAE and Test Data signals in the form of time history. Includes both corridor and cross correlation, which are calculated independently and then combined to give a comprehensive error. 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

cora(inputstruct,refcurve,compcurves)

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

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

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

out1 = cora(...)

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

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
K
Exponent factor (progression) for the calculation of the corridor rating. Default: 2
Type: double
Dimension: scalar
g_1
Weighting factor of the corridor rating. Default: 0.5
Type: double
Dimension: scalar
a_0
Width of the inner and outer corridor. Default: 0.05
Type: double
Dimension: scalar
b_0
Width of the outer and outer corridor. Default: 0.5
Type: double
Dimension: scalar
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
d_min
Calculates the interval of evaluation. Varies between 0 and 1. Default: 0.01
Type: double
Dimension: scalar
d_max
Calculates the interval of evaluation. Varies between 0 and 1. Default: 0.12
Type: double
Dimension: scalar
int_min
Minimum overlap of the interval. Varies between 0 and 1. Default: 0.8
Type: double
Dimension: scalar
k_v
Exponent factor (progression) of the calculation of the progression rating, V. Default: 10
Type: double
Dimension: scalar
k_g
Exponent factor (progression) of the calculation of the size rating, G. Default: 1
Type: double
Dimension: scalar
k_p
Exponent factor (progression) of the calculation of the phase shift rating, P. Default: 1
Type: double
Dimension: scalar
g_v
Weighting factors of the progression rating. Default: 0.5
Type: double
Dimension: scalar
g_g
Weighting factors of the size rating. Default: 0.25
Type: double
Dimension: scalar
g_p
Weighting factors of the phase shift rating. Default: 0.25
Type: double
Dimension: scalar
g_2
Weighting factors of the cross-correlation method. Default: 0.5
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
wf_norm
Normalization of the weighting factors; options include 'yes or 'no'. Default: 'yes'
Type: double
Dimension: scalar
min_norm
The limit to start special treatment of secondary axis. Varies between 0 and 1. Default: 0
Type: double
Dimension: scalar
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 CORA rating, corridor rating, total cross correlation, phase rating, progression rating and size rating
Type: double
Dimension: matrix
out2
nx16 output. The n rows correspond to different correlation curves. The 16 columns correspond to inner correlation, outer correlation, Y norm, T min, T max, Gv, Gg, Gp, G1, G2, a0, b0, asigma, bsigma, min delta and max delta
Type: double
Dimension: matrix

Example

Usage of cora 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] = cora(inputstruct,refcurve1,[compcurve1, compcurve2, compcurve3])
out1 = [Matrix] 3 x 6
0.18878  0.00000  0.37756  0.00000  0.70687  0.09651
0.17546  0.00000  0.35092  0.00000  0.67095  0.06175
0.16719  0.00000  0.33438  0.00000  0.64733  0.04285
out2 = [Matrix] 3 x 16 Rows[1:3] Columns[1:11]
1.00000  10.00000  20.00000  1.00000  16.19000  0.50000  0.25000  0.25000  0.50000  0.50000  0.05000
1.00000  10.00000  20.00000  1.00000  16.19000  0.50000  0.25000  0.25000  0.50000  0.50000  0.05000
1.00000  10.00000  20.00000  1.00000  16.19000  0.50000  0.25000  0.25000  0.50000  0.50000  0.05000
    
out2 = [Matrix] 3 x 16 Rows[1:3] Columns[12:16]
0.50000  0.00000  0.00000  0.15190  1.82280
0.50000  0.00000  0.00000  0.15190  1.82280
0.50000  0.00000  0.00000  0.15190  1.82280

Usage of cora 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] = cora(inputstruct,[refcurve1,refcurve2,refcurve3],compcurve1)
out1 = [Matrix] 1 x 6
0.31246  0.04938  0.57553  0.00000  0.96782  0.36647
out2 = [Matrix] 1 x 16 Row[1] Columns[1:11]
2.50000  25.00000  50.00000  1.00000  20.00000  0.50000  0.25000  0.25000  0.50000  0.50000  0.05000

Row[1] Columns[12:16]
0.50000  0.00000  0.00000  0.19000  2.28000