1樓:
%根據樓上的提供的公式編輯
%sqrt2.m用於得到根號2的近似逼近
%迭代公式:x(n+1)=(x(n)+2)/(x(n)+1)
x0=inf; %隨便定義的初值,只要不和x1相同且不為-1
x1=0; %初值
flag=0; %迭代步驟
while abs(x1-x0) > 1e-6 %結束標誌,當前後兩次值相差0.000001時
x0=x1;
x1=(x0+2)/(x0+1);%迭代
flag=flag+1; %標誌計數
endfprintf('\ntimes: %d\nthe result is: %17.16f\n',flag,x1);%輸出
輸出:times: 10
the result is: 1.4142134998513232
ps.其實你可以通過執行下面語句驗證其正確性,當然精度1e-6是可以更改的!
format long %輸出格式為雙精度
sqrt(2)
結果:ans =
1.414213562373095
2樓:創舊黃
x(n+1)=(x(n)+2)/(x(n)+1)
正初值迭代收斂到sqrt(2)
具體實現應該很簡單了.
Matlab程式設計問題,matlab程式設計問題
挺簡單的,自己做,上道題動 不給採納,自己想想,簡單的積分問題 matlab 程式設計問題 26 題1 基本運算 a 22 33 4 1 3 31 54 2 32 b 1 4 3 3 2 3 3 1 8 a 6 b ans 28 57 14 19 15 49 36 8 80 a b eye 3,3 ...
matlab程式設計,matlab中如何程式設計序進去
a 8 1 1 1 1 1 1 3 3 2 1 1 5 1 1 3 1 1 2 1 1 5 3 3 3 1 1 4 5 1 1 1 1 1 2 2 2 2 4 3 1 5 4 2 1 1 1 2 1 3 1 1 2 2 5 2 1 3 2 5 1 1 3 1 1 1 1 2 1 5 4 2 2 1 ...
C語言程式設計題,c語言程式設計問題,題目是2程式設計計算
include include include int main void value a b printf answer is 6.2f n value system pause return 0 c語言程式設計問題,題目是 2 程式設計計算1 2 3 3 5 4 7 5 9 include in...