MATLAB — отображение данных

#matlab

#matlab

Вопрос:

Итак, я пытаюсь вычислить и отобразить средние данные, как описано на прилагаемом рисунке (http://i.stack.imgur.com/b2DHd.png ) Вот что у меня есть:

 lakeData = load('C:UsersJustinDesktopEGR2222MATLABDataLAKE_POWELL.txt');

year1= lakeData(:,1);
year2= lakeData (:,2);
year3= lakeData (:, 3);
year4= lakeData (:, 4);
year5= lakeData (:, 5);
year6= lakeData (:,6);
year7= lakeData (:,7);
year8= lakeData (:,8);

lakePowell = [year1, year2, year3, year4, year5, year6, year7, year8];
years = [2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007];
average = mean(lakePowell)

fprintf('The average water level was %s in %sn', average, years)
  

Моя проблема в том, что я новичок в MATLAB и не уверен, как правильно закодировать мой оператор fprintf, чтобы он печатал все данные сразу. Пожалуйста, помогите!

Ответ №1:

Вероятно, вы захотите перебрать все значения в average и все значения в years и распечатать их.

Кроме того, вы захотите использовать %f and %d для форматов, поскольку они являются числами.

 for k = 1:numel(years)
    fprintf('The average water level was %f in %dn', average(k), years(k))
end
  

Другим вариантом было бы объединить average и years вдоль 1-го измерения, а затем вы можете вызвать fprintf один раз.

 combined = cat(1, average(:).', years(:).');
fprintf('The average water level was %f in %dn', combined);