2013-04-08 68 views
6

Tôi không quen thuộc với Matlab nên xin lỗi vì câu hỏi ngớ ngẩn này trước. Tôi muốn gán số 1 cho một số vị trí cụ thể của ma trận. Tôi có một vector hàng và vector cột tương ứng. Tôi đã cố gán giá trị cho các vị trí này nhiều lần. Tuy nhiên, nó không hoạt động. Dưới đây là ví dụ về mã kích thước nhỏ hơn. Giả sử có ma trận 4 * 4 và tôi muốn gán ma trận (1,1), ma trận (2,3) và ma trận (3,4) cho 1. Đây là những gì tôi đã làm.Cách gán giá trị cho các vị trí cụ thể của ma trận trong MATLAB?

matrix = zeros(4,4); 
row = [1 2 3]; 
col = [1 3 4]; 
matrix(row,col)=1; 

Tuy nhiên, tôi nhận được câu trả lời như

matrix=[ 1 0 1 1 
     1 0 1 1 
     1 0 1 1 
     0 0 0 0]  

Ai đó có thể chỉ ra những gì tôi làm sai ở đây? Kích thước thực tế của ma trận tôi sẽ làm việc trên là hàng ngàn vì vậy đó là lý do tại sao tôi không thể chỉ định từng vị trí một cách thủ công. Có cách nào để sử dụng vector hàng và vector cột tôi phải gán giá trị 1? Cảm ơn bạn rất nhiều,

+2

Nó có thể hữu ích: http://stackoverflow.com/questions/6850368/how-can-i-change-the-values-of-multiple-points-in-a-matri x? rq = 1 –

+0

Cảm ơn bạn rất nhiều. Tôi đã kiểm tra bài đăng và nó rất hữu ích. – Cassie

Trả lời

8

Bạn có thể sử dụng sub2ind để tính toán các chỉ số tuyến tính của các vị trí bạn muốn gán cho và sử dụng những cho việc chuyển nhượng:

indices = sub2ind(size(matrix), row, col); 
matrix(indices) = 1; 
+0

Cảm ơn bạn rất nhiều. Nó đã làm việc ! – Cassie

1
matrix(1,1) = 1 
matrix(2,3) = 1 
matrix(3,4) = 1 
+2

Cảm ơn bạn rất nhiều vì đã trả lời. Tuy nhiên, kích thước thực tế của ma trận của tôi là hàng ngàn. Tôi không thể chỉ định từng cái một. Vì vậy, có anyway để sử dụng vector hàng và vector cột tôi có? Cảm ơn – Cassie

1

Một chút của một vết sưng. Trừ khi bạn đang làm khá một vài dòng hoặc cột không liền kề nhau, một cách rất hữu ích giống như

matrix(1:3,2:4)=1 

Nó hỗ trợ yếu tố toán học rất dễ dàng

này sẽ lần lượt

{0 0 0 0} 
{0 0 0 0} 
{0 0 0 0} 
{0 0 0 0} 

vào

{0 1 1 1} 
{0 1 1 1} 
{0 1 1 1} 
{0 0 0 0} 
Các vấn đề liên quan