필터 지우기
필터 지우기

セルのデータを抽出する方法

조회 수: 11 (최근 30일)
恵輔 沖
恵輔 沖 2023년 5월 18일
댓글: 恵輔 沖 2023년 5월 19일
%これで、実行をすると、tempの行列となり、その1行1列にma曲げのデータが格納されてしまいます。
%これの抽出するにはどうすれば良いでしょうか。
Excel_name = '試験結果.xlsx';
sheet_name = {'ma曲げ', 'mo曲げ', 'ma座屈', 'mo座屈', 'FEM解析_ma', 'FEM解析_mo'};
for k = 1:numel(sheet_name)
temp{k} = readmatrix(Excel_name, 'sheet', sheet_name{k}, 'range', 7);
end
%例えば、temp1 = temp(1,1), temp2 = temp(1,2)というふうにしたいのですが...

답변 (1개)

Atsushi Ueno
Atsushi Ueno 2023년 5월 18일
편집: Atsushi Ueno 2023년 5월 18일
readmatrix 関数の Range オプションでデータの開始セルを7行目としていますが、これにより一つのシートから一つのスカラ値が得られると仮定します。下記の例では7行目の代わりに3行3列目としました(添付ファイルを確認願います)。もしこの仮定が違ってたらコメント等でお知らせください。
各シートの値が一つのベクトルにまとまった事が確認できました。
Excel_name = '試験結果.xlsx';
Sheet_name = sheetnames(Excel_name);
for k = 1:numel(Sheet_name)
temp(1,k) = readmatrix(Excel_name, 'sheet', Sheet_name(k), 'range', [3 3]);
end
temp % 例えば、temp1 = temp(1,1), temp2 = temp(1,2)というふうにしたいのですが...
temp = 1×6
9 90 900 9000 90000 900000
  댓글 수: 2
Atsushi Ueno
Atsushi Ueno 2023년 5월 18일
temp{k} = readmatrix(...) とした理由:
各シートから得られるデータの型やサイズ(何行何列)が異なっていても、一つの cell 配列としてまとめて扱う為です。
恵輔 沖
恵輔 沖 2023년 5월 19일
ありがとうございます。

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 ワークスペース変数と MAT ファイル에 대해 자세히 알아보기

제품


릴리스

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!