2011-02-26 60 views
1

我正在使用Matlab做我的一個項目。我被困在一個基本的東西。Matlab:如何在矩陣上應用點方向函數?

我有2個matricies - A和B以及矢量V.我想要做的是這樣的:

A(I,J)= V(B(I,J))的所有I,J 。

我試着以最明顯的方式做這個 - 嵌套循環。出於某種原因,A沒有得到填充。我錯過了什麼嗎?是否有更高效的(內置函數)方式來執行此操作。

謝謝,

Anil。

+0

是A和B的大小相同? – Jacob 2011-02-26 01:08:20

+0

你可以把你的代碼,所以我們可以看到有什麼不對? – Simon 2011-02-26 01:21:20

+0

是的,A和B的大小相同。 – 2011-02-26 16:37:15

回答

3

如果B所有條目均大於零的整數,如果最大的B並不比V元素的數量較大,那麼你可以簡單地寫

A = V(B); 
+0

我完全搞砸了,沒有嘗試這個簡單的事情。如果我想對矩陣中的每個元素應用特定的函數,是否有一種簡單的方法。說,A(i,j)= B(i,j)^ x? – 2011-02-26 16:37:53

+0

哦.. A = B^x可能適用於此。會給它一個鏡頭。 – 2011-02-26 17:55:31

+0

@Anil Katti:'A = B.^x'就是你要找的東西。 '.'以元素方式應用操作。 – Jonas 2011-02-26 19:09:57