Вы можете просто назначить его за один шаг как
у функцию MATLAB для считывания данных в n-мерный массив (размер переменной переменной). Мне нужно иметь возможность доступа к определенной точке в Матрице (например, для записи или чтения), но я заранее не знаю, сколько индексов нужно указать.
В настоящее время у меня естьcurrent_point
вектор, который я перебираю, чтобы указать каждый индекс, иmax_points
вектор, который определяет размер массива. Так, если, например, я хотел 3-мерный массив размером 1000 на 15 на 3,max_points = [1000 15 3]
, а такжеcurrent_point
повторяется от[1, 1, 1]
в[1000, 15, 3]
([1, 1, 1]
->[1000, 1, 1]
->[1, 2, 1]
->[1000, 2, 1]
-> ...). То, что я хотел бы сделать, это кормитьcurrent_point
в качестве индекса для матрицы, например, так:
output_matrix(current_point) = val
Но, видимо, что-то вродеoutput_matrix([1 2 3]) = val
будет просто установитьoutputmatrix(1:3) = 30
, Я не могу просто использовать фиктивные переменные, потому что иногда матрице потребуются 3 индекса, иногда 4, 2 и т. Д., Поэтому вектор переменной длины действительно нужен мне здесь. Есть ли простой способ использовать вектор в качестве точки в индексе?