質問: 1, b=2 c =3 行列 d= (1 ,2 ,3, 4,5) e= (0.1 ,0.2 ,0.3 ,0.4, 0.5, 0.6) ※dは1*5 , eは1*6の行列 の5つがあった場合、添付ファイルのようなものを作成するのにはどうすればよいでしょうか。
回答: 構造体でまずは変数を定義します a.a = 1; a.b = 2; a.c = 3; a.d = 1:5; a.e = a.d*0.1; cell型に変換していきます そのあと構造体をcell型に変換します a = structfun(@num2cell,a,"uniformoutput",false); b = struct2cell(a); 空白を表現したいのですがここではnanで空白部分を埋めています maxlength = max(cellfun(@numel,b)); result = cellfun( @(x) [cell2mat(x), nan(1,maxlength-numel(x))], b, 'uniformoutput', false); result = num2cell(vertcat(result{:})); 変数名を連結させます name = fieldnames(a); c = [name, result]; nanを空白に変更します mask = cellfun(@(x) all(isnan(x)), c); c(mask) = {''} 最後に書き出します writecell(c,"output.csv");