Я получил сообщение об ошибке: «Неверный список параметров» из моей функции, который позволяет Octave открыть текстовый файл и прочитать его, чтобы получить входные данные для моей работы.
function [machNumbers]=readsrm(testfile.txt)
fid = fopen('testfile.txt','w');
fskipl(fid, 3);
# read number of machnumber
numMachNumber = fscanf(fid, "%i", 1)
fscanf(fid, "%s", 5);
machNumbers = fscanf(fid, "%f", numMachNumber);
fclose(fid);
endfunction
РЕДАКТИРОВАТЬ:
Я обновил свой код и теперь у меня появляется эта ошибка: «ошибка: fskipl: неверный номер потока = -1».
Мой код выглядит так:
function [machNumbers, weights, altitudes, specificRanges]=readsrm(myfilename)
myfilename = "filename"
fid = fopen(myfilename,'r');
fskipl(fid, 3);
fclose(fid);
endfunction
РЕДАКТИРОВАТЬ:
Проблемы выше, решены, спасибо.:) Проблема в том, что мой цикл for работает неправильно.С этим кодом я не получаю никаких параметров из моего текстового файла.
Вот код:
function [machNumbers, weights, altitudes, specificRanges]=readsrm(myfilename)
myfilename = "testfile.txt"
fid = fopen(myfilename,'r');
fskipl(fid, 3);
# read number of machnumber
numMachNumber = fscanf(fid, "%i", 1)
fscanf(fid, "%s", 5);
machNumbers = fscanf(fid, "%f", numMachNumber);
# read weights
numWeights = fscanf(fid, "%i", 1);
fscanf(fid, "%s", 5);
weights = fscanf(fid, "%f", numWeights)
# rad altitudes
numFl = fscanf(fid, "%i", 1)
fscanf(fid, "%s", 5);
altitudes = fscanf(fid, "%f", numFl)
irrelevantValues = fscanf(fid, "%s", 7)
for flightLevel= 1:numFl
for weight = 1:numWeights
specificRanges(flightLevel, weight, 1:numMachNumber) = fscanf(fid, "%f", numMachNumber);
endfor
endfor
fclose(fid);
endfunction