2013-10-06 2 views
0

Новое в MatLab, и я не могу понять немного кода мне было дано:Matlab карниз синтаксис

x = 1; % initial guess = 1 
Tol = 5e-9; % correct to 8 decimal places 
count = 0; 
f=0.54030231; % f(1)= 0.54030231 
fprintf('step x f(x)\n') 
fprintf('---- ----------- ----------\n') 
fprintf('%1i %12.8f %12.8f\n',count,x,f) 
while abs(f)>Tol %loop until the absolute value of f is smaller than tolerance 
count = count + 1 
deriv = -sin(x); ; % first derivative of f(x) 
x2 = x - (f/deriv); % new value of x 
x = x2; 
f = cos (x); % new value of f(x) 
fprintf('%3i %12.8f %12.8f\n',count,x,f) 
end 

Программа метод ньютона для нахождения корней уравнений, которые я понимаю.

То, что я не понимаю, эта часть:

fprintf('---- ----------- ----------\n') 
fprintf('%1i %12.8f %12.8f\n',count,x,f) 

Вопросы:

  1. Почему последний бит второй линии, разделенные на п?
  2. Каковы числа во второй строке, то есть% 1i,% 12.8f и т. Д.?
  3. Как это работает с «count, x, f», который записывается после него?

Благодаря

+1

Вы прочитали документацию ['fprintf'] (http://www.mathworks.com/help/matlab/ref/fprintf.html)? Если вы этого не сделали, почему бы и нет? Если вы это сделали, что вы не понимаете? –

ответ

3

\ п является символом новой строки.

В остальном вы смотрите версию печати Matab's format strings. С небольшими вариациями они используются на десятках языков. Графы, x и f вставляются в %. 1i - целое число с 1 цифрой, 12.8f - это число с плавающей запятой с 12 символами, 8 после десятичной.

Смежные вопросы