Можно ли применить идею массива в C к MATLAB Например, если у нас есть Двойной массив [10]; , и если мы хотим присвоить значение, напишем, например, Array [5] = 2;Идея массива C в matlab
Есть ли способ написать эквивалент в MATLAB?
Можно ли применить идею массива в C к MATLAB Например, если у нас есть Двойной массив [10]; , и если мы хотим присвоить значение, напишем, например, Array [5] = 2;Идея массива C в matlab
Есть ли способ написать эквивалент в MATLAB?
Я не уверен, что вы подразумеваете под «Возможно ли применить идею массива в C к MATLAB». Массив - это всего лишь 1-й список чисел (или других типов данных). 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.
Я думаю, что он имел в виду синтаксис. –
Вы можете определить свой собственный класс, переопределить оператор [].
Я описал механизм в Here
Поскольку это настраиваемая функция, вы можете также изменить индексирование на основе 1 на индексирование на основе 0.
Что касается конструктора, я сомневаюсь, что вы можете это сделать.
Во всяком случае, для чего вы хотите это сделать?
Вы будете путать всех пользователей Matlab и вызвать хаос.
Когда в Риме делайте, как римляне.
Да, вы можете. Массивы используются в C и MATLAB, и их можно использовать для одних и тех же функций. Кроме того, помните, что индексирование массивов C и MATLAB отличается.
Первый элемент массива C имеет индекс нуля. то есть в X = [10 20 30 40], x [0] вернет 10. Но в MATLAB это даст ошибку. Чтобы получить доступ к номеру 10, вы должны использовать выражение x [1] в MATLAB.
'x [2]' дает 'Ошибка: несбалансированные или неожиданные скобки или скобки.' – Nzbuu
Оператор индексирования []
. Вы должны использовать ()
для индексации массива.
Если вы пишете
x = 1:10;
x[2]
, то вы получите следующее сообщение об ошибке
x[2]
|
Error: Unbalanced or unexpected parenthesis or bracket.
Пусть два downvoters объясниться? –
@ Andrey: Я предполагаю, что это потому, что вопрос не очень ясен. Что именно о индексе C-стиля интересует OP? – Nzbuu
Я имею в виду, как инициализировать массив и назначать определенное значение элементу в этом массиве в mathlab, как то, что мы делаем в C. Я думаю, что Крис понял, что я имел в виду.Спасибо за каждого, дал мне его ответ или его мнение. – Fatimah