是否有可能將C中的數組的想法應用於MATLAB 例如,如果我們有 雙數組[10]; ,如果我們想分配一個值,我們寫例如 Array [5] = 2;matlab中的C數組的想法
有沒有什麼辦法可以在MATLAB中編寫等價的代碼?
是否有可能將C中的數組的想法應用於MATLAB 例如,如果我們有 雙數組[10]; ,如果我們想分配一個值,我們寫例如 Array [5] = 2;matlab中的C數組的想法
有沒有什麼辦法可以在MATLAB中編寫等價的代碼?
我不確定你的意思是「是否可以將C中的數組應用到MATLAB中」。一個數組只是一個數字(或其他數據類型)的一維列表。 MATLAB主要設計用於處理矩陣(MATLAB是Matrix laborartory的簡稱),而數組或矩陣只是矩陣的特例。所以我想你的問題的答案是肯定的,如果我理解正確的話。
初始化在MATLAB陣列或矩陣,我們使用zeros或ones:
>> array = zeros(1,5)
array =
0 0 0 0 0
我們就可以以同樣的方式在陣列的索引元素作爲C:
>> array(3) = 3
array =
0 0 3 0 0
然而,注意, MATLAB數組索引是基於一個而C數組是基於零的。
This文章描述了MATLAB中的矩陣/數組索引。
我認爲他的意思是語法。 – 2012-01-09 14:59:02
您可以定義自己的類,覆蓋[]運算符。
我描述了機制Here
由於它是一個自定義函數,您可能還需要將基於1的索引更改爲基於0的索引。
關於構造函數,我懷疑你可以這樣做。
無論如何,你爲什麼要這麼做?
你會混淆所有的Matlab用戶,並造成嚴重破壞。
在羅馬時,像羅馬人那樣做。
是的,你可以。數組用於C和MATLAB,它們可以用於相同的功能。除了請注意,C和MATLAB的數組索引是不同的。
C數組的第一個元素的索引爲零。即在X = [10 20 30 40]中,x [0]將返回10.但是在MATLAB中,這會給出錯誤。要訪問數字10,必須在MATLAB中使用表達式x [1]。
'x [2]'給出'錯誤:不平衡或意外的括號或括號.' – Nzbuu 2012-01-09 16:35:26
沒有索引運算符[]
。您必須使用()
來索引數組。
如果你寫
x = 1:10;
x[2]
那麼你會得到下面的錯誤
x[2]
|
Error: Unbalanced or unexpected parenthesis or bracket.
可以在兩個downvoters解釋自己? – 2012-01-09 15:44:19
@Andrey:我的猜測是,這是因爲問題不是很清楚。 OP感興趣的是C風格索引的具體內容? – Nzbuu 2012-01-09 16:40:34
我的意思是如何初始化一個數組,併爲數組中的元素指定一個特定的值,就像我們在C中所做的一樣。我想克里斯明白我的意思。感謝每個人都給我他的回答或他的意見。 – Fatimah 2012-01-09 18:46:12