2016-09-27 125 views
0

我正在尋找一個matlab命令,它將一個已知函數集成到一個三角形內(這是由他的節點知道的)。我有3個座標(x1,y1)(x2,y2)(x3,y3),它們定義了一個三角形,我知道在三角形內部存在已知的函數f(x,y)。我正在尋找一個計算f在三角形上積分的命令。積分在三角形內

+1

你能否提供一些你已經試過的代碼和數據點 – Finn

+0

我在原始問題中增加了更多的信息。因爲即時通訊尋找一個命令沒有代碼,但這個想法很簡單。我希望你能幫我 – user2600366

+0

嘗試'triquad'進行數值整合(不是內置的,你可以很容易在google上找到) – Dohyun

回答

0

在Matlab中使用integral2命令。 Documentation中的第一個例子將涵蓋您的案例。要使三角形的一邊與x軸平行,可以將三角形乘以rotation matrix,然後在x軸上「移動」它。

請注意,如果您正確執行substitutions,積分不會影響此轉換。 這種轉換可以使編寫代碼變得更容易,但他們不必使用integral2

+0

那麼,我也需要更新F函數,你能寫出它嗎?假設給出了三個座標,並且在已知函數中還有F. – user2600366

+0

F是從interuplated數據中收集的函數。它不像F(x,y)= x那樣是解析的。 – user2600366

+0

如果你的數據是插值的,你可以使用這個:http://stackoverflow.com/questions/11559025/define-function-as-interpolation-of-x-y-data,然後將句柄設置爲'integral2'。 – StefanM