2014-08-27 3 views
0
255 255 255 255 255 255 0 0 0 0 255 255 255 
255 255 255 255 255 0 255 255 0 0 0 255 255 
255 255 255 255 0 255 255 255 0 0 0 0 255 
255 255 255 0 255 255 255 255 0 0 0 0 0 
255 255 255 0 0 0 0 0 0 0 0 0 0 
255 255 255 0 0 0 0 0 0 255 255 255 0 
255 255 255 255 0 0 0 0 0 255 255 0 255 
255 255 255 255 0 0 0 0 0 255 0 0 255 
255 255 255 255 255 255 0 0 0 0 255 255255 

의 위치를 ​​찾기 위해, 5 행과 열 아홉 (5 * 9)scilab - 프로그램은 내가 scilab 기능을 사용하여 찾을 수있는 방법 제로

답변

0

에서 제로는 매트릭스 데이터 "에 저장되는 것을 말하는. DAT 사용 "우선 파일에서 매트릭스를 판독하여 변수 (여기에 저장할 수있는"M ")

M = fscanfMat('/<add filepath here>/data.dat'); 

다음 단계를 사용하여 0이 행해질 수 동일한 행렬 요소를 발견하는 :

[row, column] = find(M == 0); 

여기서 "row"는 요소의 행 인덱스가 0 인 "1-by-n"벡터이고 "column"은 각각 발견 된 요소의 열 인덱스를 포함합니다. 당신이 발견 얼마나 많은 제로에 관심이 있다면

당신은 발견 (53) 제로가 있음을 알려줍니다

n = size(row, 'c') 

를 사용할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 제 5 행과 제 9 열에서 0의 위치를 ​​정확하게 찾고 싶습니다. 제 말은 제로가 선형 인덱싱을 사용하지 않고 행 5와 열 9에 있다고 말하고 싶습니다. 그것은 센터에서 제로를 찾는 것과 같습니다. 이것에 대한 명령이 있습니까? – gluthra

+0

@gluthra : 실제로 저는 Scilab을 사용하는 초보자입니다. 따라서 Scilab이 그러한 기능을 제공하는지 여부는 알지 못합니다. 중간 열과 가운데 열의 인덱스를 계산하면됩니다. 그 후 여러분은 여러분의 행렬의 중간 요소에 접근하여 if 문을 사용하여이 원소가 0인지를 검사 할 수 있습니다. 내 제안이 당신의 문제를 해결할 수 있고 그것에 대한 알고리즘이 필요한 경우 주저하지 말고 내 의견에 의견을 말하십시오. Btw : 귀하의 질문은 [this] (http://stackoverflow.com/questions/25525558/scilab-program-to-find-the-position-of-the-zero-in-the-centre)와 매우 유사하게 보입니다. – albert

관련 문제