Correlation coefficient calculation error
4 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
As I try to find correlation coefficient for the respective variables i.e. 'td' & 'cumulat', in for loop, some error is coming in the process of execution. Please help.
clear;clc;close all
S = load('DQS.mat');
F = fieldnames(S);
for n = 1:numel(F)
F1 = fieldnames(S.(F{n}));
F11{n} = F1;
% allocate the variables
nn = cell(numel(F1),1);
PArea = cell(numel(F1),1);
t_max = cell(numel(F1),1);
for n1 = 1:numel(F1)
t = S.(F{n}).(F1{n1}).cc.t;
t_max{n1} = max(t);
nn{n1} = F1{n1};
output{n1} = cumtrapz(t);
NF = @(p,q) max(output{n1}(t<=q)) - min(output{n1}(t>=p));
PArea{n1} = NF(5, 6);
end
T_max{n} = t_max;
tt = cell2mat(T_max{1,n}(:,end));
td{n} = tt./max(tt);
cumulat{n} = PArea;
[R{n},P{n}] = corrcoef(td,cumulat); %correlation coeff. calculation
end
1 Commento
Jonas
il 23 Giu 2022
can you please edit your question, format your code as code and press the compile button (green rectangle), this way we can see what is happening
Risposta accettata
Mathieu NOE
il 23 Giu 2022
hello
seems to me the code could be made simpler, why the need to make all this cell acrobatics ?
clear;clc;close all
S = load('DQS.mat');
F = fieldnames(S);
for n = 1:numel(F)
F1 = fieldnames(S.(F{n}));
F11{n} = F1;
% allocate the variables
nn = cell(numel(F1),1);
for n1 = 1:numel(F1)
t = S.(F{n}).(F1{n1}).cc.t;
t_max(n1) = max(t);
nn{n1} = F1{n1};
output{n1} = cumtrapz(t);
NF = @(p,q) max(output{n1}(t<=q)) - min(output{n1}(t>=p));
PArea(n1) = NF(5, 6);
end
td = t_max./max(t_max);
cumulat = PArea;
[R{n},P{n}] = corrcoef(td,cumulat); %correlation coeff. calculation
end
8 Commenti
Più risposte (0)
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!