Correlation coefficient calculation error
7 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
Jonas
2022 年 6 月 23 日
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
採用された回答
Mathieu NOE
2022 年 6 月 23 日
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 件のコメント
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!