Я создаю код в MATLAB, который оптимизирует исследование ANSYS, поэтому я хочу проверить выходной файл ANSYS и посмотреть, приемлемы ли результаты.
Этот код имеет входные параметры, которые используются ANSYS для создания модели. Эти параметры меняются на каждой итерации, поэтому на каждой итерации создается другой выходной файл.
Давайте будем более конкретными. Ниже приведен пример выходного файла:
- 1 строка блабла
2 строка блабла
. . .
- строка 10000 максимальных значений
- строка 10001 значений1 2,31 4,56 5,69 8,64 0,25 9,70
- .
- .
- строка 35000 максимальных значений
- строка 35001 значения2 2,25
- .
- .
- строка 70000 итоговых значений3 2503,4
Все, что я хочу сделать, это посмотреть, находятся ли первые два значения, выделенные жирным шрифтом, ниже пределов задачи (т.е. 9,70‹15 и 2,25‹7). Если это так, сохраните третье значение, выделенное жирным шрифтом в матрице. Если это не так, перейдите к следующей итерации.
Я новичок в программировании, и инструкции Matlab немного сбивают с толку.
Любые идеи будут приветствоваться!
Заранее спасибо!
**EDIT:** Это весь мой код:
X1=linspace(26,60,3)';
X2=linspace(104,70,3)';
R=linspace(3,10,3)';
vec={X1',X2',R'};
combs=combvec(vec{:})';
seqv=zeros(i,1);
tic
for i=1:length(combs);
fid=fopen('C:\Users\vaioss\Desktop\ergasia ymk\test\aa.txt','w+');
fprintf(fid,'*SET,X1,%7.4f \r\n',combs(i,1));
fprintf(fid,'*SET,X2,%7.4f \r\n',combs(i,2));
fprintf(fid,'*SET,R,%7.4f \r\n',combs(i,3));
fclose(fid);
fid=fopen('C:\Users\...','r+');
fclose(fid);
dos('"C:\Program Files\ANSYS Inc\v150\ANSYS\bin\winx64\ansys150.exe" -p ...');
fid=fopen('C:\Users\...','r');
for j=1:10152;
tline=fgetl(fid);
end
match = textscan(tline, '%s %f %f %f %f %f', '\n')';
seqv(i) = cell2mat(match(6,1));
if seqv(i)>67.2887;
fclose(fid);
continue
end
end
fclose all;
toc
textscan
. - person nkjt   schedule 24.06.2014textscan
, но, к сожалению, нужные строки меняются на каждой итерации. Есть ли способ построчно сканировать файл в поисках строк с желаемым содержимым? - person dolving   schedule 25.06.2014