2013-09-02 5 views
1

행렬 M의 값이 0입니다. 이제 두 개의 배열이 있습니다. 첫 번째 행렬은 변경해야하는 행렬의 색인을 포함하고 두 번째 행렬은 해당 색인에서 행렬의 요소가 변경되어야하는 값을 포함합니다.MATLAB의 벡터에서 행렬 요소를 변경하십시오.

의가 있다고 가정 해 봅시다 : 나는 M(4), M(5) or M(2500)을 말한다면

mat_A = zeros(50, 50); 
vec_indices = [4; 5; 2500]; 
vec_values = [1; 1; 1]; 

지금, 나는 결과가 모든 경우에 하나가되고 싶어요.

이 작업을 수행하는 간단한 "한 줄짜리"가 있습니까?

답변

4

간단한 : linear indices이 같은이 유일한 작품, 그래서 당신은 하나 개 2500x1 벡터로 50 × 50 행렬을 평평하게하는 것이

mat_A(vec_indices) = vec_values 

참고.

+0

그래, 나는 그것을 시도했고'첨자 인덱스는 진짜 양수 또는 논리이어야한다 .' – Schnigges

+0

내 컴퓨터에서 작동합니다. 오류 메시지를 제공하는 완전한 예제를 게시하십시오. –

+0

흠 ... 네 말이 맞아, 내 간단한 예제도 잘 작동 해 ... 나는 두 개의 벡터를'textread'로 읽고있다. '{280x1 double}' – Schnigges