回答
索引在此語法上不允許案件。最簡單的解決方法是使用getfield
X=magic(5)
X =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
>> getfield(X^2,{1,3})
ans =
725
這不是Matlab的工作原理。您需要分配矩陣乘法另一個矩陣的結果,然後用它:
A = X^2;
disp(A(1,2));
這是假設你真的意味着做矩陣乘法,而不是元素乘元素。在後一種情況下,你可以做
disp(X(1,2)^2)
如果你有興趣的矩陣相乘的結果,那麼
disp(X(1,:)*X(:,2))
將做到這一點,因爲這是元素(1,2)
是如何計算的。最後一個解決方案具有非常高效的優點,因爲您只計算所需的元素,而不是計算整個矩陣並丟棄僅用於保留元素的元素。對於更大的矩陣,這將有所作爲。當然,它使得略少可讀的代碼,所以我總是建議寫在你的代碼中的註釋,當你做到這一點 - 你的未來的自己會感謝你...
編輯採取在http://www.mathworks.com/matlabcentral/newsreader/view_thread/235798看看 - 線程廣泛同意我的第一個陳述,雖然它暗示你想要的語法可能是「未來版本的一部分」。但是6年前就說過了,但它仍然不在這裏......它也顯示了一些非常模糊的解決方法;我建議不要這樣做(因爲所有的解決方法都是隱藏你計算矩陣的事實,然後選擇一個元素,因此計算機上的工作負載不會更小)。
我只想(A * A)(1,2),並想知道爲什麼matlab給我一個錯誤代碼? – user3495562
它給出了一個錯誤,因爲「(A * A)」不是一個可以被索引的對象。只是語法的工作方式。但我的第三個選擇應該做你想做的,並且有效地做。 – Floris
- 1. 我的簡單代碼/類是什麼
- 2. 爲什麼這個簡單的代碼是錯誤的?
- 3. 什麼是最簡單的Python代碼繪製簡單的圖表(比MATLAB簡單)
- 4. 什麼是以下Matlab代碼的簡明表達式
- 5. 什麼是錯我的代碼 - 在PHP
- 6. 什麼是錯我的代碼(蟒蛇)
- 7. 什麼是錯在我的代碼? Tweepy
- 8. 確定什麼是錯我的代碼
- 9. 什麼是錯在我的代碼?爲什麼錯誤味精
- 10. 我的Matlab代碼錯誤?
- 11. 這個Matlab代碼有什麼問題?簡單while循環
- 12. matlab中的簡單概率代碼
- 13. 我簡單的代碼是不工作
- 14. 什麼是jqgrid的簡單替代?
- 15. 我的簡單的「如果」聲明沒有做什麼代碼
- 16. 這個簡單的代碼是做什麼的?
- 17. 這個簡單的PHP代碼是做什麼的?
- 18. 一個簡單的代碼,返回的結果是什麼?
- 19. 這個matlab代碼相應的matplotlib代碼是什麼
- 20. 這個MATLAB代碼的等效Java代碼是什麼?
- 21. 簡單代碼的簡單錯誤,但我不明白嗎?
- 22. 爲什麼這個簡單的JQuery代碼會引發錯誤?
- 23. 爲什麼這個簡單的代碼給語法錯誤?
- 24. matlab什麼是代碼段計算?
- 25. 我在做什麼錯我的代碼?
- 26. 簡單的onClick不工作的jQuery代碼,我錯過了什麼?
- 27. 爲什麼我的簡單ajax代碼不起作用?
- 28. 我的簡單線條「繪圖」代碼有什麼問題?
- 29. 爲什麼我的簡單代碼不能在C++中工作?
- 30. 我的簡單代碼在這裏有什麼問題?
+1的解決方法。現在我看到它已經出現[這裏](http://stackoverflow.com/questions/3627107/how-can-i-index-a-matlab-array-returned-by-a-function-without-first-assigning-它),但我不知道它 –