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)
问题:
由于
答案 0 :(得分:3)
\ n是一个换行符。
对于其他人,您正在查看Matab版本的printf format strings。略有变化,这些用于几十种语言。在%
1i
处插入count,x和f是一个1位整数,12.8f
是一个浮点数,有12个字符,小数点后8位。