2011-10-30 305 views
1

最近開始學習八度。如何通過對每個元素應用函數來從另一個矩陣生成矩陣?從另一個矩陣生成矩陣

例如:

  • 應用2X + 1或2x /(X^2 + 1)或1/X + 3的3x5的矩陣A.
  • 結果應該是一個3x5的矩陣與所述值現在2X + 1
  • 如果A(1,1)= 1,然後用後輸出矩陣B
  • B(1,1)= 2.1 + 1 = 3

我主要關注的操作之後是一個使用x的值的函數找到相反的或者如上所述的東西。

關於。

回答

2

您可以嘗試

B = A.*2 + 1 

操作.意味着應用程序進行以下操作*到矩陣的每個元素。

在發行包和網頁上可以找到許多關於Octave的文檔。更好的是,您通常也可以使用Matlab上的大量文檔。

已增加。對於更復雜的操作,您可以使用arrayfun(),例如

B = arrayfun(@(x) 2*x/(x^2+1), A) 
+0

嗨Jiri,那很好。我認爲它沒有用一個很好的例子。假設函數是2x /(x^2 + 1)或1/x + 3。我已經更新了相應的問題。謝謝。 – ritcoder

+0

我擴展了我的答案來處理您的擴展問題。 – Jiri

+0

嗨Jiri,那正是我要找的。我改變了現有的使用2 for循環的代碼,並且效果很好。現在學習八度,所以不太熟悉現有的功能。謝謝。 – ritcoder