8
A
回答
6
的for
環
for (int i = 0; i <= 1000; i+=25)
可以以這種方式被轉換爲MATLAB for循環:
>> for i = [0:25:1000]
# Code
end
2
如果要通過陣列使用的 'i' 作爲索引進行掃描, for i=0:25:1000
將不起作用。第一元件的MATLAB中的陣列的索引是1。所以使用for i=1:25:1000
10
的MATLAB for loop syntax是
for i = values
program statements
:
end
其中values
是
start:end
start:step:end
之一,或- 值的數組。
表格start:end
假設步驟爲1
,而您希望步驟(或增量)爲25,因此請使用第二種形式。從你的問題中,for(int i = 0; i < 1000; i+=25)
生成一個數字列表0 25 50 ... 950 975
,即它不包括1000
(請注意循環中的i < 1000;
),所以我們不能在出現MATLAB語法時使用end=1000
。改用end = 1000-25 = 975
:
for i = 0:25:975
program statements
:
end
將產生的i
相同的值爲C當量。
注意:請參閱我對Mithun Sasidharan的回答的評論。他的答案爲C和MATLAB for循環產生了不同的數字(並且他似乎從他的MATLAB答案中刪除了for
)。他的回答給出了C代碼的0 25 50 ... 950 975
和他的MATLAB代碼的0 25 50 ... 950 975 1000
。
編輯:Aashish Thite的回答提出了一個關於循環和數組索引的重要觀點,它在C和MATLAB之間有所不同。
相關問題
- 1. matlab到c + +轉換
- 2. 從MATLAB轉換的代碼段爲C#
- 3. 將fft代碼從Matlab轉換爲C#
- 4. 從MATLAB轉換成C++
- 5. 將Matlab轉換爲C++
- 6. MATLAB角度()到C#轉換
- 7. 代碼轉換:Matlab到C++
- 8. MATLAB模轉換到C++
- 9. 從mathematica轉換到matlab
- 10. MATLAB從mW轉換到dBm
- 11. 從sbyte []轉換爲SByte []爲matlab事件
- 12. 將C#數組轉換爲MWarray Matlab
- 13. 將matlab代碼轉換爲c
- 14. 如何將c代碼轉換爲matlab
- 15. 轉換Matlab代碼爲C代碼
- 16. 將Matlab轉換爲C的難點
- 17. 將此C++代碼轉換爲Matlab
- 18. 「轉換」 MATLAB到C++ - 數值PDE的 -
- 19. MATLAB到C代碼的轉換
- 20. MATLAB到C++代碼行轉換
- 21. 從C++轉換爲C
- 22. 從C++轉換爲c
- 23. 轉換YYYY-MM-DD到週二25
- 24. 從C#轉換到C++
- 25. 從C++轉換到Pro * C
- 26. 從f90到where語句的轉換到matlab轉換
- 27. Matlab來C++代碼轉換
- 28. 如何從matlab文件轉換爲dll
- 29. 從笛卡兒轉換爲球形matlab?
- 30. Matlab從圖像轉換爲雙精度
我認爲你的意思是'爲我',而不僅僅是'我'。而且你不需要圍繞冒號表達式的'[]'。 –
-1這個**沒有給出正確的答案:'for(int i = 0; i <1000; i + = 25)'產生數字'0 25 50 ... 950 975',其中'i = 0:25:1000「產生」0 25 50 ... 950 975 1000「。如果'i <1000;'被替換爲'i <= 1000;'或者'i = 0:25:975'被使用,那麼輸出將匹配。 – Chris
另請注意,'i = [0:25:1000]'實際上意味着不同於'i = 0:25:1000'的東西 - 在第一種情況下,實際上是預先分配內存來存儲矢量'0:25:1000 '。這個循環可能無關緊要,但與'i = 1:inf'和'i = [1:inf]'相比較。 –