3次元でCell毎の平均値を求める

10 views (last 30 days)
Saito
Saito on 16 Mar 2020
Answered: Kenta on 17 Mar 2020
今日は。
今、124X40001のファイルが10あるデータ(124x40001x10)を持っています。これを各セルごとに平均値(124x40001x1)で求めたいのですがどうしたら良いですか?

Accepted Answer

Kenta
Kenta on 17 Mar 2020
clear;clc
C=cell(10,1);
for i=1:10
% C{i}=randi(100,[124 40001]);
C{i}=ones(124, 40001).*i;
end
meanC = cellfun(@(x) mean(x(:)), C) ;
こんにちは、セルである変数Cの中に10個の変数があって、それぞれのサイズが124 * 40001ということで正しいですか?
その場合であれば、cellfunを使って上のようにすればできます。
また、「平均値(124x40001x1)で求めたい」ということは、10個の数字を使って平均を出す過程を124*40001回行いたいということでしょうか?
その場合は、
clear;clc
C=cell(10,1);
for i=1:10
% C{i}=randi(100,[124 40001]);
C{i}=ones(124, 40001).*i;
end
C_cat=cat(3,C{:});
mean_C=mean(C_cat,3);
としてください。確認しやすいようにones関数を使っていますが、乱数で見たい場合は、コメントで書いているrandiのほうで試してみてください。よろしくお願いいたします。

More Answers (0)

Products


Release

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!