How can I call a function that outputs text files?

4 views (last 30 days)
I keep getting this error,
??? Error using ==> SECTOR
Too many output arguments.
for a function I created that outputs text files
The purpose of the function is that when the user types a corresponding number, MATLAB opens a file (fopen) which has been taken from a urlwrite function.
I am proceding the following way
function fid = SECTOR(user_entry1)
%
%
urlwrite('http://weather.noaa.gov/cgi-bin/fmtbltn.pl?file=forecasts/marine/coastal/am/amz722.txt','Anegada_Passage_Southward.txt'); % URL from forecast webpage
urlwrite('http://weather.noaa.gov/cgi-bin/fmtbltn.pl?file=forecasts/marine/coastal/am/amz710.txt','Atlantic_Waters.txt');
urlwrite('http://weather.noaa.gov/cgi-bin/fmtbltn.pl?file=forecasts/marine/coastal/am/amz732.txt','Caribbean_Waters.txt');
urlwrite('http://weather.noaa.gov/cgi-bin/fmtbltn.pl?file=forecasts/marine/coastal/am/amz715.txt','Coastal_Waters_Northern_Culebra_NOT_EasternPR.txt');
urlwrite('http://weather.noaa.gov/cgi-bin/fmtbltn.pl?file=forecasts/marine/coastal/am/amz742.txt','Coastal_Waters_Northwestern.txt');
urlwrite('http://weather.noaa.gov/cgi-bin/fmtbltn.pl?file=forecasts/marine/coastal/am/amz725.txt','Coastal_Waters_Southern.txt');
urlwrite('http://weather.noaa.gov/cgi-bin/fmtbltn.pl?file=forecasts/marine/coastal/am/amz745.txt','Coastal_Waters_Southwestern.txt');
urlwrite('http://weather.noaa.gov/cgi-bin/fmtbltn.pl?file=forecasts/marine/coastal/am/amz741.txt','Mona_Passage_Southward.txt');
urlwrite('http://weather.noaa.gov/cgi-bin/fmtbltn.pl?file=forecasts/marine/coastal/am/amz712.txt','Coastal_Waters_Northern.txt');
urlwrite('http://weather.noaa.gov/cgi-bin/fmtbltn.pl?file=forecasts/marine/coastal/am/amz725.txt','Coastal_Waters_Southern_Vieques_Eastern.txt');
if user_entry1 == 1
fid=fopen('Anegada_Passage_Southward.txt');
elseif user_entry1 == 2
fid=fopen('Atlantic_Waters.txt');
elseif user_entry1 == 3
fid=fopen('Caribbean_Waters.txt');
elseif user_entry1 == 4
fid=fopen('Coastal_Waters_Northern_Culebra_NOT_EasternPR.txt');
elseif user_entry1 == 5
fid=fopen('Coastal_Waters_Northwestern.txt');
elseif user_entry1 == 6
fid=fopen('Coastal_Waters_Southern.txt');
elseif user_entry1 == 7
fid=fopen('Coastal_Waters_Southwestern.txt');
elseif user_entry1 == 8
fid=fopen('Mona_Passage_Southward.txt');
elseif user_entry1 == 9
fid=fopen('Coastal_Waters_Northern.txt');
elseif user_entry1 == 10
fid=fopen('Coastal_Waters_Southern_Vieques_Eastern.txt');
end
and the program file that calls the function goes like this,
fprintf('Choose your forecast region by typing corresponding number:\n 1. Anegada Passage\n 2. Atlantic Waters\n 3. Caribbean Waters\n 4. Coastal Waters Northern | Culebra\n 5. Coastal Waters Northwestern\n 6. Coastal Waters Southern\n 7. Coastal Waters Southwestern\n 8. Mona Passage Southward\n 9. Coastal Waters Northern\n 10. Coastal Waters Eastern | Vieques\n');
user_entry1=input('Input forecast: ');
fid = SECTOR(user_entry1);
The output of the function must be a text file that later would go as an input in the variable 'fid'.
Can you please help?
NOTE: I am trying to format the code starting with 'if user_entry1 == 1...', but MATLAB does not let me.
  4 Comments
Walter Roberson
Walter Roberson on 30 Sep 2012
You should have code that assigns a value to "fid" even if the input is not one of those values. For example you could start with
fid = [];

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 30 Sep 2012
Add this code before the final end:
else
warningMessage = sprintf('Error: you entered %d.\nThe allowed values are integers 1 through 10', user_entry1);
uiwait(warndlg(warningMessage));
fid = -1;
Then if you enter something not allowed, at least it will warn you.
  1 Comment
jjlivestrong
jjlivestrong on 30 Sep 2012
Thank you Image Analyst. For some reason the moment I included your code the function worked.
As always, thank you very much and I wish both, Walter and you, to have a nice day
:)

Sign in to comment.

More Answers (0)

Categories

Find more on App Building in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!