переменный массив векторизации Matlab - PullRequest
0 голосов
/ 02 марта 2011

Может кто-нибудь сказать мне, что основная идея, стоящая за изменением строк или столбцов в матрице относительно номера строки / столбца, в Matlab? Я пытался заменить все столбцы в данной матрице на

i=1:101;
V=ones(121,101);
V_t=1000*10.^((i-1)/20);
e=V_arr(1:121)';
V_arr=V; V_arr(:,i)=V_t*e;

Я знаю, что ошибка заключается в попытке заменить количество столбцов относительно всех строк, и я видел альтернативный, более простой метод, использующий repmat, но я хотел бы знать, есть ли метод, аналогичный один выше. Спасибо.

1 Ответ

2 голосов
/ 02 марта 2011

Одна вещь, которую вы можете сделать, это использовать матричное умножение, то есть массив n-by-1, умноженный на массив 1-by-m, создает массив n-by-m.

Например

ii = 1:101; %# 1-by-101
V_t = 1000*10.^((i-1)/20);
ee = ones(121,1); %# 121-by-1

V_arr = ee * V_t;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...