Is it possible to apply the idea of array in C to MATLAB For example, if we have Double array[10]; and if we want to assign a value we write for example Array[5]=2;
Is there any way to write equivalent one in MATLAB ?
Is it possible to apply the idea of array in C to MATLAB For example, if we have Double array[10]; and if we want to assign a value we write for example Array[5]=2;
Is there any way to write equivalent one in MATLAB ?
您可以定义自己的类,覆盖 [] 运算符。我在这里
描述了机制
由于它是一个自定义函数,您不妨将基于 1 的索引更改为基于 0 的索引。
关于构造函数,我怀疑你能做到。
无论如何,你为什么要这样做?
您将混淆所有 Matlab 用户,并造成严重破坏。
在罗马时,像罗马人那样做。
我不确定“是否可以将 C 中的数组概念应用于 MATLAB”是什么意思。数组只是数字(或其他数据类型)的一维列表。MATLAB 主要设计用于处理矩阵(MATLAB 是矩阵实验室的缩写),数组或向量只是矩阵的一种特殊情况。所以我想你的问题的答案是肯定的,如果我理解正确的话。
要在 MATLAB 中初始化数组或矩阵,我们使用zeros或one:
>> array = zeros(1,5)
array =
0 0 0 0 0
然后我们可以像 C 一样索引数组的元素:
>> array(3) = 3
array =
0 0 3 0 0
但是请注意,MATLAB 数组索引是从一开始的,而 C 数组是从零开始的。
本文介绍了 MATLAB 中的矩阵/数组索引。
没有索引运算符[]
。您必须()
用于索引数组。
如果你写
x = 1:10;
x[2]
那么你会得到以下错误
x[2]
|
Error: Unbalanced or unexpected parenthesis or bracket.
是的你可以。数组用于 C 和 MATLAB,它们可以用于相同的函数。除了,请记住 C 和 MATLAB 的数组索引是不同的。
C 数组的第一个元素的索引为零。即在 X = [10 20 30 40] 中,x[0] 将返回 10。但在 MATLAB 中,这会出错。要访问数字 10,您必须在 MATLAB 中使用表达式 x[1]。