2014-11-16 5 views
0

Я хочу изменить отдельные элементы в матрице разными значениями одновременно. Как это сделать?Как изменить элементы по разным значениям в матрице одновременно в Octave?

Например: я хочу изменить первый элемент в матрице А на определенную величину, а второй - на другую величину одновременно.

{A = [1; 2]

% вместо того, чтобы делать (1) = ..... A (2) = .....

}

ответ

1

Вы можете получить доступ к элементам вектора или матрицы и заменить их.

Для вектора это интуитивно понятно.

octave:16> A = 1:9 
A = 

    1 2 3 4 5 6 7 8 9 

octave:17> A([1 3 5 7 9]) = 0 
A = 

    0 2 0 4 0 6 0 8 0 

Это может быть сделано и для матрицы. Элементы матрицы расположены в первом столбце. Вы можете использовать один индекс для доступа к элементам матрицы.

octave:18> A = [1 2 3; 4 5 6; 7 8 9] 
A = 

    1 2 3 
    4 5 6 
    7 8 9 

2-й элемент A такой же, как A (2, 1). Четвертый элемент A совпадает с A (1, 2).

octave:21> A(2) 
ans = 4 
octave:22> A(4) 
ans = 2 

Таким образом, вы можете установить все нечетные элементы А до 0 на одном дыхании, как это:

octave:19> A([1 3 5 7 9]) = 0 
A = 

    0 2 0 
    4 0 6 
    0 8 0 
1

Просто добавьте вектор с отличиями. A + = [0,1; 0,2]

octave:1> A = [1; 2]; 
octave:2> A += [0.1; 0.2] 
A = 

    1.1000 
    2.2000