실험 결과가 포함 된 표를 만들고 있습니다. for 루프에서 변수 정의에 문제가 있습니다. 루프없이 똑같은 일을 할 때 나는 아무런 문제가 없었습니다. 그래서 나는 적어도 힌트가 필요하다고 생각합니다.MATLAB : for 루프의 테이블에있는 문제
for t = 1:N
Bands(t) = {'Band %d',t};
Diameter(t) = dn;
Bandwidth(t) = barray(t);
n1(t) = R.m(t);
n2(t) = R2.m2(t);
P1(t) = round(p(t),2);
P2(t) = round(p2(t),2);
Damage(t) = round(dad(t),2);
end
Bands(t+1) = {'Total'};
Diameter(t+1) = {'-'};
Bandwidth(t+1) = sum(barray);
n1(t+1) = sum(R.m);
n2(t+1) = sum(R2.m2);
P1(t+1) = round(ptot,2);
P2(t+1) = round(ptot2,2);
Damage(t+1) = round(damage,2);
Bands = Bands';
Diameter = Diameter';
Bandwidth = Bandwidth';
n1 = n1';
n2 = n2';
P1 = P1';
P2 = P2';
Damage = Damage';
T = table(Bands,Diameter,BandWidth,n1,n2,P1,P2,Damage,...
'RowNames',Bands);
cellArrayOfTableToBeWritten = [cellArrayOfTableToBeWritten;
T.Properties.VariableNames;
table2cell(T);
blankrow];
내가 코드를 실행하고 밴드 (t)와 공평 나에게 오류를 준, 내가 올바른 방법이 무엇인지 알 수 :
는 지금까지 내가 미리 할당 한 후, 무슨 짓을했는지입니다 테이블에서 인쇄 할 수 있지만 Bands (t + 1)에서 오류가 발생하는 이유는 무엇입니까?
'셀에서 이중으로 변환 할 수 없습니다.'
편집 : 난 할 노력하고있어 이것이다 :
Band = {'One';'Two';'Three';'Four';'Total'};
하지만 지금과 내가 프로그램을 시작할 때까지 내가해야 얼마나 많은 밴드 알 수 없기 때문에 루프. for 루프를 사용하여 테이블을 만든 후에는 xlwrite를 사용하여 Excel 파일로 내 보냅니다 (Macintosh에서는 xlswrite가 아닌). 당신은 당신은 예를 들어 값 'Band 1'
에 Bands
의 t
번째 요소를 할당하는 기대
Bands(t) = {'Band %d',t}
을 사용하는 경우
이 코드는 크게 최적화 된 것처럼 보이며 실제로 달성하려는 내용을 설명하면 건설적 일 수 있습니다. 또한 여기에 오류에 대해 질문 할 때는 항상 전체 실제 오류 메시지를 포함하십시오. – Wolfie
원래 게시물을 약간 편집했습니다. 오류 메시지는 전체적으로 '적색'이 아니며 'try catch ME'의 결과입니다. – Jack