2013-06-15 2 views
0

Я использую Scilab для вычисления матрицы 100x100x100 в кубах 2x2x2. Как изменить этот скрипт так, чтобы он усреднял его в кубах 9x9x9? Я знаю, что 100^3 doesn 't разделите равномерно на кубики 9x9x9. Я просто хочу усреднить его, пока он больше не может быть равномерно погружен.Мне нужна помощь, использующая Scilab для вычисления матрицы 100x100x100 в кубах 2x2x2.

a=1 b=1 c=1 numbers = rand(100,100,100) while c <=99, if a>99 then a=1 b=b+2 c=1; end if b>99 then a=1 b=1 c=c+2; end average=(numbers(a,b,c)+numbers(a+1,b,c)+numbers(a,b+1,c)+numbers(a+1,b+1,c) +numbers(a,b,c+1)+numbers(a+1,b,c+1)+numbers (a,b+1,c+1)+numbers(a+1,b+1,c+1))/8
a=(a+2); end

ответ

1

Вам необходимо использовать matrix function, который встроен в scilab. Просто используйте это на каждой итерации с кубами нужного размера.

0

Не совсем уверен, что вы хотите, но:

mean(numbers(1:9, 1:9, 1:9)) 

, вероятно, что вам нужно.

+0

Большое спасибо. Это было именно то, что мне было нужно. –