MATLABでplot関数を使うとグラフが途中から途切れます
39 views (last 30 days)
Show older comments
宗純 岩科
on 11 Dec 2024 at 9:49
Commented: 宗純 岩科
on 12 Dec 2024 at 7:17
添付させていただいたzipファイルを解凍して、ファイルに格納された「Ota_simulation_oneday.m」を実行すると、出力されるグラフが途中から途切れ、添付させていただいた画像のように大部分が空白となる現象の原因と対処法を伺います。
このプログラムは、OpenDSSにOptimalflow20160828.xlsxでデータを与えてシミュレーションし、結果を次のようなコードで取得し、プロットすることを想定したものです。
%高圧系統の電圧を格納する例
for ii=1:NumNodes
%途中省略.全体はzipファイルにあるOta_simulation_oneday.mを参照
DSSText.command=['New Monitor.V_OH',num2str(ii),' Line.OH',num2str(ii),' mode=0 terminal=1']; %高圧系統の電圧モニタ設置
end
%高圧系統の電圧をプロットする例
for ii=1:NumNodes
DSSMon.name=['V_OH',(num2str(ii))];
OH(ii).V(1:6,:) = ExtractMonitorData(DSSMon,1:6,1.0); %OpenDSSから高圧系統の各ノードにおける相電圧を取得.ExtractMonitorDataの処理内容はzipファイル内のExtractMonitorData.mを参照
end
figure(2);
for ii=1:NumNodes%[1:10:41,NumNodes]
plot(Time, OH(ii).V(1,:)*sqrt(3));hold on; %取得した電圧を戦艦電圧に変換してグラフに出力
end, hold off
xlim([0 24]); set(gca, 'FontName', 'Helvetica', 'FontSize', 14, 'XTick',0:6:24,...
'FontWeight','Bold')
xlabel('Time [hour]'); ylabel('Line Voltage [V]'); grid on;
OpenDSSから取得したデータや、plot関数の引数として指定している値などは、添付させていただいたzipファイル内のchecker.xlsxに記載しており、出力されなかったデータは一部のみですが、すべてのグラフが途中で途切れます。どの変数がどのシートに記載されているかは「Ota_simulation_oneday.m」の316~317行目、346~347行目、375~380行目、400~401行目、428~429行目、438~440行目、448~450行目のコード、コメントに記載いたしましたので、お手数をおかけして恐縮ですが、そちらをご参照ください。
なお、ハードウェアのエディションはWindows 11 Pro、バージョンは23H2、プロセッサは13th Gen Intel(R) Core(TM) i9-13900T 1.10 GHzです。
お手数ですが、ご回答よろしくお願いいたします。
Accepted Answer
Kojiro Saito
on 11 Dec 2024 at 13:01
Edited: Kojiro Saito
on 11 Dec 2024 at 13:01
全ては追えていないですが、voltage_low_voltage_grid.figについては383~387行でプロットさせているデータであるLoad_AB(ii).V(1)、Load_AC(ii).V(1)、Load_BC(ii).V(1)がiiの値に依らずそれぞれ51.60419083、 36.96825027 、 88.5724411の固定値になっています。
checker.xlsxの当該シートの1行目が全て同じ値になっているので、問題ないかご確認ください。
3 Comments
Kojiro Saito
on 12 Dec 2024 at 4:52
checker.xlsxの他のシートでも1列目のデータが2列目以降コピーされているのでデータ取得に問題があるようです。ExtractMonitorDataでDSSからデータを取得していると思いますが、DSSからデータが問題なく流れているのか、それともデータ取得時に最新のデータを取ってこれているのかの確認が必要だと思います。
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!