저는 토목과 박사 수료생으로 학위논문을 위해 MATLAB을 이용하여 간단하게 코딩중입니다. <div>하지만 제가 초보이다 보니 너무 효율이 떨어지는 코딩을 한 것 같아서 효율을 높이는 방법을 여쭙고 싶습니다.</div> <div><br></div> <div>file.txt에 있는 내용을 매트릭스A로 불러와서</div> <div>14번째 열에있는 값에 따라</div> <div>B1에서 B7까지 (필요시 B10이상으로도 늘려야함) 구분하여 저장하려합니다.</div> <div>예를 들어 매트릭스A의 1행 14열 값이 1인 값들만 모아서 B1으로,</div> <div>매트릭스A의 1행 14열 값이 2인 값들만 모아서 B2로 만드는 것이죠.</div> <div>그래서 아래와 같이 구성했는데, 연산시간이 너무 올래걸리고,</div> <div>매트릭스A의 14번째 열 값이 7이상으로 커지면 인위적으로 추가해야한다는 불편함이 있습니다.</div> <div>이를 효율적으로 고칠 수 있는 방법 없을가요??</div> <div><br></div> <div>비전공자이고, 제가 배워본 프로그래밍은 대학교1학년때 배운 C언어 기초강좌가 다였기에</div> <div>이쪽으로는 무지해서 도움을 요청합니다.</div> <div><br></div> <div><div>--------------------------------<span style="font-size:9pt;line-height:1.5;">--------------------------------</span></div> <div>A = load( 'file.txt' );</div> <div><span style="font-size:9pt;line-height:1.5;">B1 = [];</span></div> <div>B2 = [];</div> <div>B3 = [];</div> <div>B4 = [];</div> <div>B5 = [];</div> <div>B6 = [];</div> <div>B7 = [];</div> <div>n = length(A);</div> <div>for i = 1:n</div> <div> if A(i, 14) == 1;</div> <div> B1 = [B1; A(i, 8), A(i, 2)];</div> <div> elseif A(i, 14) == 2;</div> <div> B2 = [B2; A(i, 8), A(i, 2)];</div> <div> elseif A(i, 14) == 3;</div> <div> B3 = [B3; A(i, 8), A(i, 2)];</div> <div> elseif A(i, 14) == 4;</div> <div> B4 = [B4; A(i, 8), A(i, 2)];</div> <div> elseif A(i, 14) == 5;</div> <div> B5 = [B5; A(i, 8), A(i, 2)];</div> <div> elseif A(i, 14) == 6;</div> <div> B6 = [B6; A(i, 8), A(i, 2)];</div> <div> else A(i, 14) == 7;</div> <div> B7 = [B7; A(i, 8), A(i, 2)];</div> <div> end</div> <div>end</div></div> <div>--------------------------------<span style="font-size:9pt;line-height:1.5;">--------------------------------</span></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.