gpt4 book ai didi

所有组合的 Matlab 循环

转载 作者:行者123 更新时间:2023-12-04 19:41:37 26 4
gpt4 key购买 nike

我是 Matlab 的新手,这似乎超出了我的范围。感谢您的帮助并提前致谢。

  1. 基本上,我有一个带有列标题的多列数据集。列号可能因数据集而异。
  2. 需要遍历所有列的组合(例如 A+B、A+C....B+C、B+D...等)并运行公式(在本例中是相关公式但随后可能是另一个公式)。
  3. 如果特定组合返回“true”,则返回该对的列标题。

如果您能指出正确的方向,我将不胜感激。

提前致谢。

最佳答案

使用nchoosek获取所有的列对:

pairs_columns = nchoosek(1:m, 2);
pairs = {};

for pair = 1:size(pairs_columns,1)
flag = your_correlation_test(data(:,pairs_columns(pair,1)), data(:,pairs_columns(pair,2)));
if flag
pairs{end+1,1} = data_header(pairs_columns(pair,1));
pairs{end,2} = data_header(pairs_columns(pair,2)); %// Note that you don't need end+1 anymore as the previous line will have already increased the number of rows in the vector
end
end

m 是你的列数

your_correlation_test 是返回 bool 结果的测试函数

data 是您的数据集(我假设您可以按列号索引?)

data_header 是一个占位符,表示根据列号从数据集中获取标题的正确方法。对不起,我对 Matlab 中的数据集不是很熟悉

关于所有组合的 Matlab 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23536771/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com