エクセルファイルを読み込み、グラフの上からプロットするには。
44 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
エクセルからデータを読み込み、図①に重ねてプロットしたいです。 エクセルデータ、図①、図①のプログラムは以下の通りです。 以下プログラムは、前半で観測ファイルを読み込み、後半で観測データの距離分解能を15mから150mに変換し、プロットしています。
どのようなプログラムを追加すればよいでしょうか。 よろしくお願い致します。
図①のプログラム
%ファイル読み込み
DebugFiles = 'C:\Users\MATLAB\160826\*1682621.00*';
D = dir(DebugFiles);
Z=0;
% ファイルオープン
fid=fopen(D.name);
% ヘッダー読み込み
for k = 1:3
headers{k} = fgetl(fid);
end
% データセットの数を取り出し
third_header = sscanf(headers{3},'%f');
num_datasets = third_header(end); %4
% データセットのヘッダーを読み込み
datasetheader = {};
for k = 1:num_datasets
datasetheader{k} = fgetl(fid);
end
fread(fid,2,'uint8') % Read CRLF=13d 10d
% データセットのヘッダーに記載されたデータ分バイナリデータを読み込む
data = {};
for k = 1:num_datasets
dataheader_parsed = sscanf(datasetheader{k},'%d');
num_read = dataheader_parsed(4); %512
[data{k},count] = fread(fid,num_read,'long');
fread(fid,2,'uint8'); % Read CRLF=13d 10d
end
fclose(fid);
R=150;
s=1.4*10^(-25)-9.5*10^(-27);
%距離分解能 15m→150mに変換
m=1;
for j=height1:10:dataheader_parsed(4)-9
A=0;
B=0;
for k=j:j+9
A =+ data{2}(k,1);
B =+ data{4}(k,1);
end
On1(m,1) = A;
Off1(m,1)= B;
if m >= 2
On2(m-1,1)=A;
Off2(m-1,1)=B;
end
m=m+1;
end
n= 1./(2.*s.*R).*((On1.*Off2)./(On2.*Off1));
figure;
plot(n, 1:numel(n))
ylim([10 30]) %10=0m,11=150m,,,,,,,30=3000mであるため表示変更
xlabel('水蒸気濃度')
ylabel('高さ[km]')
エクセルデータ
図①
0 commentaires
Réponse acceptée
Jiro Doke
le 9 Nov 2017
既にグラフが存在するとして、こんな感じでしょうか。
ex_data = xlsread('file.xls'); % エクセルから数値データをインポート
hold on % 現在のグラフに追加
plot(ex_data(:,2),ex_data(:,1)) % 2列目に対して1列目をプロット
hold off
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur 座標軸の外観 dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!