2014-11-10 12 views
0

У меня проблема, я хочу выделить блок памяти размером m и n (так что 2D-матрица), где каждый элемент матрицы представляет собой структуру из двух переменных (точка с двумя двойными координатами x и y). Язык я хочу написать в этом MATLAB я пытался что-то вроде этого:Выделение массива двух измерений структуры в MATLAB

left = zeros(height, width); 
for i = 1 : width 
    for j = 1 : height 
    var.x = someValue; 
    var.y = someOtherValue; 
    left(i,j) = var; 

куска коды сверху не работает .. Как я могу решить эту проблему?

+0

См http://stackoverflow.com/help/mcve – Jubobs

ответ

1
left(height,width) = struct(); 
for i = 1 : width 
    for j = 1 : height 
    left(j,i).x = someValue; 
    left(j,i).y = someOtherValue; 
    end 
end 

должен делать то, что вы хотите

+0

Thaks для ответа, однако он не работает ... ошибка: подстрочное присваивание между разнородным struct. Попробуйте реализовать его для 1 значения, чтобы увидеть –

+1

У меня нет MATLAB здесь, похоже, работает в Octave. Вы пытались очистить левый? – Gianni

+0

Благодарим за отзыв! Я не расчищался перед тем, как делать операции. Я поставил четкие левые перед инструкциями, и все работает нормально :). –