Вам нужно записать строку формата в виде строки, то есть
fprintf(fid,%3.3f %3.3f %3.3f %3.3f %3.3f %3.3f %3.3f %3.3f %3.3f %3.3f
%3.3f %3.3f %3.3f %3.3f %3.3f %3.3f %3.3f %3.3f %3.3f\n,h);
Должно быть
fprintf(fid,['%3.3f %3.3f %3.3f %3.3f %3.3f %3.3f %3.3f %3.3f %3.3f %3.3f',...
'%3.3f %3.3f %3.3f %3.3f %3.3f %3.3f %3.3f %3.3f %3.3f\n'],h);
Точки означают разрыв строки, а квадратные скобки объединяют строки вдве строки.
Кроме того, вы не пишете код Matlab здесь.Например, инициализация zour
for i = 1:11
c(i)= 0.0;
h(i)= 0.0;
end
может быть записана как
c = zeros(1,11);
h = zeros(1,11);
or
[c,h] = deal(zeros(1,11));
Кроме того,
for i=1:11
c(1)=0.0;
c(11)= 0.0;
h(1)= 0.0;
h(11)= 0.0;
end
Здесь абсолютно ничего не происходит, поскольку вы инициализировали векторы длянулей, и даже если вы хотите сохранить строки, чтобы иметь возможность изменять значения, вы можете устранить цикл.
Наконец,
for i=1:11
c(i)=h(i);
end
можно переписать как c =ч;