MATLAB mファイル

Excel ファイル読み書き

FileName = ‘sample.xlsx’;
PathName = ”;
FullPathFileName = strcat(PathName, FileName);
[num, txt, raw] = xlsread(FullPathFileName);
[m, n] = size(raw);
label_readData = raw(1,:);
unit_readData = raw(2,:);
firstColumn_readData = raw(3:m,1);

xlswrite(FullPathFileName_w, Map);
行列 Map を、最初のワークシート、最初のワークブックの、A1 に書き込む
入力は、二次元の数値行列、文字列行列、または、単一要素を持ったセル行列

 

■ 配列

(行, 列) の順

上記で Excel から読み込んだ raw データはセル配列(cell array)

() でアクセスすると部分配列を取出す(配列のインデックス)
要素を取出す場合は {} でアクセスする(セル配列の要素の取出し、セル配列の作成もこれで)
[] は行列の作成や結合、行または列の削除

; は行の区切り(列要素の区切り)。, は行要素の区切り

num2cell ?

yaxis = SomeCells{1,1}{1,2} は、要素{1,1}の配列の、要素{1,2} の配列 ?

Map_temp = [yaxis, MapValue] は横方向結合

inputNames = get…;
outputNames = get…;
inputNames = transpose(inputNames);
outputNames = transpose(outputNames);
header = [inputNames, outputNames];
datacell = num2cell(resultValue);
datatable = [header; datacell];

 

■ 制御フロー

if strcmp(name1, name2)
fnd = j;
elseif strcmp(name1, ‘finish’);
fnd = 99;
else
fnd = -1;
end

for i = 1:m
end

switch name
case
otherwise
end

while index <= m
end

 

■ 機能

disp

fprintf

uigetfile

h=msgbox(‘OKを押してください’, ‘操作確認’);
uiwait(h);

h=figure();
plot(Residual{1,2}, ‘ro’);
title(‘誤差’);
xlabel(‘計測点’);
ylabel(‘誤差’);

transpose

repmat

scatter3