Как сгенерировать матрицу через цикл? - PullRequest
0 голосов
/ 02 сентября 2011

Мне интересно, как получить их в Matlab:

a = 
1 3
2 4
3 5
4 6
5 7
6 8
7 9
8 10
9 11
10 12

На самом деле структура, которую я хочу создать, имеет 2 тысячи файлов.но я начну с чего-то проще.Так что я думал о том, чтобы сделать это через цикл:

for i=1:1:10
a(i) = [i i+2]
end

, но это дает ошибку:

???  In an assignment  A(I) = B, the number of elements in B and
I must be the same.

Идея состоит в том, чтобы создать целую матрицу (или структуру, я полагаю,оба одинаковы ...) с использованием цикла for (или, может быть, есть способ сделать это без всякого случая цикла ...).Кто-нибудь может сказать мне, как это сделать?Большое вам спасибо!

Ответы [ 2 ]

3 голосов
/ 02 сентября 2011

В вашем цикле for вы присваиваете два числа одному элементу вашего массива a.Попробуйте вместо

for i=1:1:10
  a(i,:) = [i i+2];
end

.Или просто используйте

a=[(1:10)' (3:12)'];

, который заменяет ваш цикл ...

0 голосов
/ 18 января 2014

Специальная матрица, без петель , где n - нет. строк:

n=10;
a=(1:n)';
m=[a  a+2];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...