0
A
回答
0
C = [A(1,1):B(1,1);A(2,1):B(2,1)];
0
試試:
C=[ A(1):1:B(1); A(2):1:B(2) ]
1
您可以組合做到這一點使用arrayfun
與cell2mat
這樣的:
A =
1 4 7 10
B =
5 8 11 14
cell2mat(arrayfun(@(n) (A(n):B(n)), 1:numel(A),'UniformOutput', false)')
ans =
1 2 3 4 5
4 5 6 7 8
7 8 9 10 11
10 11 12 13 14
可以縮短下來使用縮寫位爲UniformOutput
,但我建議寫出來,因爲縮略語在將來的MATLAB版本中可能不再是明確的。查詢this question瞭解有關該主題的冗長討論。
+0
+1專門用於縮寫的警告 – 2014-09-21 22:19:15
1
您的問題隱含假設B(1)-A(1)
等於B(2)-A(2)
等;否則結果是不確定的。
你可以做到這一點相當普遍和有效的,如下所示:打造第一排,然後用bsxfun
獲得所有其他行:
C = bsxfun(@plus, A(1):B(1), A(:)-A(1));
+1
顯然是最好的解決方案。我沒有進行基準測試(不需要真的),但我認爲這比arrayfun方法快了一個數量級。 – 2014-09-23 09:27:54
相關問題
- 1. 定義範圍值
- 2. 從另一個範圍的值中定義一個範圍
- 3. 定位範圍內的一個範圍
- 4. 用範圍內定義
- 5. VBA定義多個命名範圍
- 6. 將列範圍定義爲INDEX函數的多個值
- 7. 動態範圍內的VBA範圍值
- 8. 定義文本值的Spotfire軸範圍
- 9. 從多個範圍內選擇多個值
- 10. 在指定範圍內的持續值
- 11. 'strndup'未在此範圍內定義
- 12. php電流不在範圍內定義
- 13. 如何定義範圍內可變
- 14. yylloc在此範圍內未定義
- 15. 無法訪問範圍內部定義
- 16. 角度範圍內的值越來越未定義
- 17. 基於在第二表中定義的範圍內選擇值
- 18. 將數字範圍比較爲兩個單元格值所定義的範圍
- 19. 多範圍值(Specflow)
- 20. Excel在一個範圍內檢查一行中的多個值
- 21. $範圍未定義
- 22. 監聽$範圍內的多個事件
- 23. 收聽範圍內的多個事件
- 24. 範圍內的多個條件4
- 25. 找到一個範圍內的值:Matlab
- 26. 找到一個範圍內的值
- 27. 在一個範圍內的匹配值
- 28. 範圍內的最低值
- 29. EditText範圍內的值
- 30. 2列範圍內的值
我要爲成千上萬的做到這一點。所以這不是有效的方式 – user12331 2014-09-21 19:01:01
那麼爲什麼不擴展你的問題多一點? – Justin 2014-09-21 20:51:49