我的工作區中有40個結構。我需要編寫一個腳本來計算所有元素的方向派生。這裏是代碼:矩陣的方向導數
[dx,dy] = gradient(Structure_element_1.value);
dxlb = min(min(dx));
dxub = max(max(dx));
dylb = min(min(dy));
dyub = max(max(dy));
[ddx,ddy] = gradient(gradient(Structure_element_1.value));
ddxlb = min(min(ddx));
ddxub = max(max(ddx));
ddylb = min(min(ddy));
ddyub = max(max(ddy));
這是一個元素的代碼。我需要找出所有40個元素的相同內容,然後再使用它。有人能幫忙嗎。
這些結構是否都包含相同的字段?如果你有'Structure_element_1,Structure_element_2,...',那麼最好有'Structure_element(1),Structure_element(2),...'這可以讓你更容易地在整個數據範圍內進行操作。前者基本上需要使用'eval',由於許多原因這不是很好的做法,其中最主要的是它不能被MATLAB的編譯器優化。 – excaza
您可能想要閱讀'for'循環與'eval'組合(參見:http://www.mathworks.com/matlabcentral/newsreader/view_thread/275986)。此外,請使用'min(dx(:))'而不是'min(min(dx))'。 –
此外,您可能可以重複使用第一次調用的結果到'gradient'來傳入第二個調用,而不是執行'gradient(gradient(...));'。 –