MATLAB Answers

How can you plot the output of a for loop?

1 ビュー (過去 30 日間)
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

  0 件のコメント

サインイン to comment.

採用された回答

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.

サインイン to comment.

その他の回答 (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

サインイン to comment.


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)

サインイン to comment.

サインイン してこの質問に回答します。

タグ


Translated by