1
比方說,我們有如何從Matlab中的多維數組中獲取積分?
A(:,:,1) =
1 1 1
1 1 1
1 1 1
A(:,:,2) =
2 2 2
2 2 2
2 2 2
A(:,:,3) =
2 2 2
3 3 3
2 2 2
我怎麼會沿着「頁」(即「Z」)軸進行一個整體在每個元素?
我們結果矩陣M應該是3×3,並且例如:
M(1:1)
將包含的A(1,1,1), A(1,1,2)
A(1,1,3)
和積分。
M(1:2)
將包含A(1,2,1), A(1,2,2)
和A(1,2,3)
的積分。
依此類推。
我想獲得矩陣M
這樣的:
M =
3.5 3.5 3.5
4 4 4
3.5 3.5 3.5
任何想法如何做到這一點?我已經嘗試過trapz
但沒有骰子。
我看不出,例如,A(1,1,:)計算至3.5。你只是想計算總和? – Andy 2015-04-05 20:34:13
'trapz([1 2 2])= 3.5' - 也就是說,取每個頁面的左上角值,依此類推 - 其他值相應計算 - 我不想要這個總和,但是在每個索引中積分 - 讓我知道你的想法 – pepe 2015-04-05 20:43:29
這總是取決於你的離散數據如何表示一些連續函數。如果連續函數是這些值的線性插值,則梯形法則將給出精確的積分。它也可以表示一個分段常數函數,在這種情況下,您需要沿第三維的和。沒有一個正確的答案,因爲你需要知道你的實際連續函數是什麼,除了剛纔提到的那些簡單的函數,還有很多其他的可能性。 – knedlsepp 2015-04-05 20:56:37