Subscripted assignment dimension mismatch
조회 수: 1 (최근 30일)
이전 댓글 표시
I got error 'Subscripted assignment dimension mismatch' for the following code:
for i = 1 : 2
for k = 1: 4
tmp3_=val(['importdata(''./Output/THOutput/Run',num2str(i),'/GM',num2str(k),'/pileDisp','.out'')']);
nPileNode = (size(tmp3_, 2)-1) / 3;
for n=1 : nPileNode
dispPileNodes_X(: , n)=tmp3_( : , (n-1) * 3 + 2 );
dispPileNodes_Y(: , n)=tmp3_( : , (n-1) * 3 + 3 );
end
Max_dispPileNodes_X =max(abs(dispPileNodes_X),[],2);
Max_dispPileNodes_Y =max(abs(dispPileNodes_Y),[],2);
Max_max_dispPileNodes_X(i,k) = max(abs(Max_dispPileNodes_X));
Max_max_dispPileNodes_Y(i,k) = max(abs(Max_dispPileNodes_Y));
end
end
댓글 수: 0
답변 (1개)
Walter Roberson
2018년 5월 21일
We have no information about what your val() function does.
This code looks suspiciously close to using eval() for no good reason.
thisfile = sprintf('./Output/THOutput/Run%d/GM%d/pileDisp.out', i, k);
tmp3_ = importdata(thisfile);
Note: we have no idea what the size of the input data is, or what size you initialized dispPileNodes_* to. Or which line the error is occurring on.
댓글 수: 4
Walter Roberson
2018년 5월 21일
Time to use the debugger.
dbstop if error
Run the code. When it errors out, check that i and k are scalars and that Max_dispPileNodes_X is a non-empty vector.
참고 항목
카테고리
Help Center 및 File Exchange에서 Function Creation에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!