Keep getting error message

Above is the pompt we are to follow to get the correct output, using fopen to get the data from a different file.
%*****CONSTANT*****
NUM_MONTHS = 12;
FIRST_YEAR = 2013;
LAST_YEAR = 2016;
%*****INPUT*****
month = 1:NUM_MONTHS;
year = FIRST_YEAR:LAST_YEAR;
% read data file
FID = fopen('lake_powell.txt','r');
lake_powell(month,year) = fscanf(FID, '%f', 1);
fclose(FID);
%{
Unable to perform assignment because the indices on the left side are not compatible
with the size of the right side.
Error in assign06b (line 22)
lake_powell(month,year) = fscanf(FID, '%f', 1);
%}
Above is the code I currently have, followed by the error message. I don't understand what I am doing wrong, could someone please explain and put me on the right track?

回答 (1 件)

Walter Roberson
Walter Roberson 2019 年 3 月 4 日

0 投票

If the file is empty or does not start with a number, then fscanf() would return empty, and empty cannot be stored in a particular location.
Note: It is unlikely that you want to keep reading from the same location in the file. You probably do not want the fopen / fclose to be inside the loops.

カテゴリ

ヘルプ センター および File ExchangeData Type Conversion についてさらに検索

タグ

質問済み:

2019 年 3 月 4 日

回答済み:

2019 年 3 月 4 日

Community Treasure Hunt

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

Start Hunting!

Translated by