2015-05-24 4 views
0

Как скопировать все содержимое моей ячейки в столбце в другой столбец в той же ячейке. напримерКопирование содержимого ячейки из столбца в другой столбец в matlab

a{1,1}=[1 2]; 
a{2,1}=[3 4 5]; 
a = 
[1x2 double] [] 
[1x3 double] [] 

тогда, я хотел бы, чтобы скопировать все содержимое ячейки этого столбца в другой колонке сказать колонке 2 без копирования всех строк отдельно, используя для. Я использовал

a{:,3}= a{:,2} 
The right hand side of this assignment has too few values to satisfy the left hand side. 

, кажется, что a{:,2} не работает, как он возвращает разные значения в разной перспективе. Итак, здесь : не работает? В качестве вывода я хотел бы иметь те же элементы, что и копирование ячеек в мои новые дома. т.е.

a{1,2}=[1 2]; 
a{2,2}=[3 4 5]; 

Так, a будет

a = 
[1x2 double] [1x2 double]  
[1x3 double] [1x3 double] 

ответ

1

Вы должны использовать скобки вместо этого, если скобки в данном случае.

Попробуйте так:

a = {[0 1];[2 3];[4 5];}; 
a(:,2) = a(:,1); 
+0

Точно, это работает :) Теперь, если я хотел бы, чтобы проверить клетки, которые я собираюсь скопировать их пустые (столбец 2 в моем примере) , то происходит копирование, как мне следует продолжить? 'if (ismepty (a {:, 2}))' ... doesnt работает и 'if (ismepty (a (:, 2)))' дает неправильный ответ. должен ли я проверить его по ячейке? – hamideh

+0

Я не уверен, что вы имеете в виду. Какие ячейки вы хотите проверить на наличие пустых? –

+0

Я имею в виду ячейки столбца 2 в моем примере. 'if (ismepty (a {:, 2}))' или 'if (ismepty (a (:, 2)))' в этом случае не работает. – hamideh

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