C语言编写,用超松弛迭代法(SOR)求解方程组的程序算法?牛顿迭代法求方程的根2*x*x*x-4*x*x 3*x-6=0程序流程分析:① 赋值x0=1.5,即迭代初值;② 用初值x0代入方程中计算此时
C语言编写,用超松弛迭代法(SOR)求解方程组的程序算法?
牛顿迭代法求方程的根2*x*x*x-4*x*x 3*x-6=0程序流程分析:① 赋值x0=1.5,即迭代初值;② 用初值x0代入方程中计算此时的f(x0)及f’(x0),程序中用变量f描述方程的值,用fd描述方程求导之后的值;③ 计算增量d=f/fd;④ 计算下一个x,x=x0-d⑤ 把新产生的x替换x0,为下一次迭代做好准备⑥ 若d绝对值大于1e-3,则重复②③④⑤步。源程序代码:#includeSOR迭代法,求MATLAB程序?
给你一个正确的程序,你自己参考一下吧!function[x,k]=Jacobimethod(A,b,x0,N,emg)
%A:线性方程组澳门新葡京左【练:zuǒ】端矩阵
%b:线性方程组【繁:組】右端向量
%x0:迭代初《读:chū》值
%N:迭代次数上(pinyin:shàng)界,若迭代次数大于n,则迭代失败
%em澳门永利g:精度指标【练:biāo】
%k:迭代次数[繁:數]
%x:用迭代法求得(练:dé)的线性方程组的近似解
n=length(A)
x1=x0k=0
r=max(abs(b-A*x1))
whiler>emg
fori=1:n
forj=1:n
ifi~=j
sum=sum A(i,j)*x1(j)
end
end
x2(i)=(b(i)-sum)/A(i,i)
r=max(abs(x2-x1))
x1=x2
k=k 1
ifk>N
disp("迭{pinyin:dié}代失败,返回");
return
end
end
祝朋{读:péng}友好运!
本文链接:http://21taiyang.com/Open-SourceComputers/7047475.html
sor线性方程组【繁:組】迭代matlab转载请注明出处来源