How can you plot the output of a for loop?

2 ビュー (過去 30 日間)
Bram van der Horst
Bram van der Horst 2020 年 1 月 14 日
I know I should make an array of all the output and then plot it, but when i make an array for 2010:2019, I also get the output for everyting lower than 2010. (TG is a 3635x1 dataset and the function works 100%
My function:
function Tgem = JaarGemiddelde(jaartal)
load data_weer.mat
Tgem=mean(TG(jaar==jaartal)./10);
A different script:
for b=2010:2019;
a(b)=JaarGemiddelde(b)
end

採用された回答

Sulaymon Eshkabilov
Sulaymon Eshkabilov 2020 年 1 月 14 日
Hi,
if I have understood your exercise correctly, you'd like to plot the year vs. average values of the variable TG. If so here is the complete script that you can improve a bit more w.r.t your problem statements:
b=2010:2019;
for ii=1:numel(b)
A(ii)=JaarGemiddelde(b(ii));
end
plot(b, A), xlabel('\it year'), ylabel('\it Average of data')
function Tgem = JaarGemiddelde(jaartal)
load data_weer.mat
Tgem=mean(TG(jaar==jaartal)./10);
end
Are you using later versions of MATLAB (2018b or later ver)? If so, the above code works very well. Otherwise, you'd need to create your fcn file in separate - JaarGemiddelde.m that you'd need to call it from another m-file or command window with:
b=2010:2019;
for ii=1:numel(b)
A(ii)=JaarGemiddelde(b(ii));
end
plot(b, A), xlabel('\it year'), ylabel('\it Average of data')
Good luck.
  2 件のコメント
Bram van der Horst
Bram van der Horst 2020 年 1 月 14 日
The script works perfectly.
I also see where I went wrong.
Thank you for your time and effort!!
Sulaymon Eshkabilov
Sulaymon Eshkabilov 2020 年 1 月 14 日
It is just a pleasure to be of some help. Good luck.

サインインしてコメントする。

その他の回答 (2 件)

Sulaymon Eshkabilov
Sulaymon Eshkabilov 2020 年 1 月 14 日
Can you share your data file in order to be able to address your question correctly?
  1 件のコメント
Bram van der Horst
Bram van der Horst 2020 年 1 月 14 日
Here's the .mat file: https://drive.google.com/file/d/1teUj7SL6H8Ic08bTYEjW96ITLAfTujIj/view?usp=sharing

サインインしてコメントする。


Sulaymon Eshkabilov
Sulaymon Eshkabilov 2020 年 1 月 14 日
I see your mat contains bunch of data. All variables are of the same size 3635-by-1. So you wish to plot what variable vs. what variable from your mat file? Are there any pre-conditions that must be respected while plotting the data?
I believe that you know how to plot any of them vs. any other, then it is straightforward. plot(dag, TG), plot(RH, TG), ...
  1 件のコメント
Bram van der Horst
Bram van der Horst 2020 年 1 月 14 日
I have to plot the year in which the data was aquired (so 2010-2019) vs the average of that year (which I achieve by using the function which takes the average from TG)

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeLine Plots についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by