MATLABでplo​t関数を使うとグラフ​が途中から途切れます

14 views (last 30 days)
宗純 岩科
宗純 岩科 on 11 Dec 2024
Commented: 宗純 岩科 on 12 Dec 2024
添付させていただいた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です。
お手数ですが、ご回答よろしくお願いいたします。
  2 Comments
宗純 岩科
宗純 岩科 on 11 Dec 2024
グラフの添付を失念しておりましたので、先ほど質問を編集して付け加えました。
ご迷惑をおかけし、申し訳ございません。
宗純 岩科
宗純 岩科 on 12 Dec 2024
checker.xlsxを確認したところ、すべてのシートで同じ値を示し続けるデータと、しばらく一定の値を示した後途切れるデータがあったことがわかりましたので、補足いたします。
お手数ですが、引き続きご回答よろしくお願いいたします。

Sign in to comment.

Accepted Answer

Kojiro Saito
Kojiro Saito on 11 Dec 2024
Edited: Kojiro Saito on 11 Dec 2024
全ては追えていないですが、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
Kojiro Saito on 12 Dec 2024
checker.xlsxの他のシートでも1列目のデータが2列目以降コピーされているのでデータ取得に問題があるようです。ExtractMonitorDataでDSSからデータを取得していると思いますが、DSSからデータが問題なく流れているのか、それともデータ取得時に最新のデータを取ってこれているのかの確認が必要だと思います。
OpenDSSのコードのデバッグまではこのコミュニティでは難しいので、開発元のGitHubを参照にしていただくのが良いかと思います。
宗純 岩科
宗純 岩科 on 12 Dec 2024
ご回答ありがとうございます。
コミュニティで扱っていない話題を質問してしまい申し訳ございませんでした。
ご対応いただき、重ねてありがとうございます。

Sign in to comment.

More Answers (0)

Categories

Find more on ビッグ データの処理 in Help Center and File Exchange

Products


Release

R2024a

Community Treasure Hunt

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

Start Hunting!