당신은 반복적으로이 작업을 수행 할 수 있습니다 :
A = sprand(20,30000,.1);
delimiter = ';';
filename = 'filecontaininghugematrix.csv';
dims = size(A);
N = max(dims);
% create names first
idx = 1:26;
alphabet = dec2base(9+idx,36);
n = ceil(log(N)/log(26));
q = 26.^(1:n);
names = cell(sum(q),1);
p = 0;
for ii = 1:n
temp = repmat({idx},ii,1);
names(p+(1:q(ii))) = num2cell(alphabet(fliplr(combvec(temp{:})')),2);
p = p + q(ii);
end
names(N+1:end) = [];
% formats for writing
headStr = repmat(['%s' delimiter],1,dims(2));
headStr = [delimiter headStr(1:end-1) '\n'];
lineStr = repmat(['%f' delimiter],1,dims(2));
lineStr = ['%s' delimiter lineStr(1:end-1) '\n'];
fid = fopen(filename,'w');
% write header
header = names(1:dims(2));
fprintf(fid,headStr,header{:});
% write matrix rows
for ii = 1:dims(1)
row = full(A(ii,:));
fprintf(fid, lineStr, names{ii}, row);
end
fclose(fid);
names
셀 어레이는 매우 기억이 예를 들어 요구하고있다
내 게시물에 일부 변경 사항이 있습니다. 나는 이것이 아래 표를 제거하고 관심을 끌기를 바랍니다 : – StackQuery
당신은 반복을 사용할 수 있습니다. 그러나 행렬이 매우 크고 매우 드문 경우 0이 아닌 값과 해당 인덱스 만 저장하는 것도 고려할 수 있습니다. 그게 선택의 여지가 있니? – MeMyselfAndI
질문 : 원본 매트릭스의 크기는 얼마나됩니까? 26 x 26보다 큰가요? 그렇다면 Z를 어디로 이동합니까? (AA?) – nkjt