#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);