3次元配列における積​分値の計算方法につい​て教えてください.

13 visualizaciones (últimos 30 días)
裕登 川元
裕登 川元 el 14 de Feb. de 2022
Comentada: 裕登 川元 el 14 de Feb. de 2022
3次元配列において,各行列の各要素での積分値の計算方法について教えていただきたいです.
例えば,
以下3次元配列Y(3×5×2),(データ点の間隔は0.1として)において、各行列の要素を積分して求める方法はありますか?
Y (:,:,1)=[1 2 3 4 5;
6 7 8 9 10;
11 12 13 14 15;]
Y (:,:,2)=[2 4 6 8 10;
12 14 16 18 20;
22 24 26 28 30;]
よろしくお願いします.
PS.現在は配列の各要素にアクセスして,台形則による積分trapzを用いて計算しようとしています.

Respuesta aceptada

Hernia Baby
Hernia Baby el 14 de Feb. de 2022
配列の形をうまく変更してやってみましょう。
データを用意します。
x = randi(10,3,3,20);
x(:,:,1)
ans = 3×3
3 5 6 3 7 9 1 8 9
reshape によって 3×3×20 を 9×20 の配列へ変更します
[s1,s2,s3] = size(x);
x_1 = reshape(x,s1*s2,s3,1)
x_1 = 9×20
3 6 1 9 4 4 4 8 8 7 3 7 8 10 3 5 6 8 3 2 3 5 8 10 2 5 1 9 8 3 10 4 1 3 6 6 6 9 3 6 1 5 2 2 5 4 8 4 1 4 8 9 1 4 7 6 8 2 2 10 5 3 10 1 1 5 2 8 2 4 5 6 5 10 1 1 10 8 7 6 7 6 4 2 6 1 3 1 8 10 10 10 5 9 2 7 2 4 8 2 8 4 1 3 7 2 10 5 2 5 9 3 2 9 7 7 2 1 9 4 6 8 3 1 3 5 1 3 10 1 7 1 1 6 10 9 4 9 9 2 9 5 6 4 4 9 2 3 4 5 1 7 1 6 8 10 5 10 9 8 9 6 1 5 6 6 9 9 3 10 4 8 10 10 2 2 5 5 5 6
横方向に積分します
x_2 = trapz(x_1,2);
reshapeで形を整えます
x_int = reshape(x_2,s1,[])
x_int = 3×3
106.5000 94.5000 95.0000 103.5000 102.5000 107.5000 87.5000 94.0000 113.5000
  1 comentario
裕登 川元
裕登 川元 el 14 de Feb. de 2022
ご回答ありがとうございます.
理解できました.
さっそく取り組んでみたいと思います.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre 数値積分と微分 en Help Center y File Exchange.

Productos


Versión

R2021a

Community Treasure Hunt

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

Start Hunting!