2014-10-08 3 views
0

Я пытаюсь преобразовать код C# в код matlab. Таким образом, в коде C# у меня есть список ссылок, в который вставляются координаты x, y. Я использую «Array.Resize (ref arr, 1)»; для вставки значения x, y. Поэтому всякий раз, когда я вставляю значения, старое значение переходит к нижней части массива. Я также использую метод изменения размера, чтобы сжать (или разбить) массив из определенных индексов. Как я могу воссоздать это в Matlab. Я читал о методе изменения в Matlab, но я не понимаю, как его применять. Метод dlnode в matlab может принимать только одно значение за раз.функции списка ссылок в matlab

Point[] arr = new Point[8]; 
for (int x= 0; x < arr.Length; x++) 
{ 
    Array.Resize<Point>(ref arr, 1); 
    arr[x].X = x; (x,y values will get from text boxes) 
    arr[x].Y= y; 
} 

Любая помощь будет высоко оценена.

ответ

1

Это то, что вы хотите сделать?

A = [x y] 
B = [A ; B] 

И наоборот:

A = B(:,1) 
B = B(:,2:end) 
+0

спасибо, я думаю, что его не ответ я ищу, мне нужно, чтобы сделать список, и, как я ввести новые значения старое значение должно идти в внизу и я должен иметь возможность сжимать исходный массив с помощью индекса. как это делается в C# – user3600631

+0

Дайте нам пример того, что вы ищете. С чего начинается массив, как он выглядит после ввода одного нового значения и как выглядит «сжатый» массив. – Peter

+0

Сокращение по индексу: 'B = [B (:, 1: index-1); B (:, index + 1: end)] 'Часть со старыми значениями снизу я фактически не понимаю. Если вы поместили новую пару (например) index = 5, вы хотите, чтобы старые значения из индекса 5 переместились в нижнюю часть массива? – mikes

Смежные вопросы