Keep getting error message

조회 수: 4 (최근 30일)
Matthew Covington
Matthew Covington 2019년 3월 4일
답변: Walter Roberson 2019년 3월 4일
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일
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.

카테고리

Help CenterFile Exchange에서 Data Type Conversion에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by