复合梯形公式

M 文件

function Tn=comt(f,x,a,b,n)
h=(b-a)/n;
k=1:n-1;
xk=a+kh;
Tn=h/2
(subs(f,x,a)+subs(f,x,b))+h*sum( subs(f,x,xk) );

运行程序

clear
syms x
for i=1:5
disp([‘h 为’,num2str(1/(100*i)),‘时’])
disp(‘复合梯形公式’)
y=comt(sqrt(x)log(x),x,eps,1,100i)
end

实现效果

雅克比迭代

m.*文件

function [x,k]=Jacobimethod(A,b,x0,N,emg)
%A是线性方程组的左端矩阵,b是右端向量,x0是迭代初始值
% N表示迭代次数上限,emg表示控制精度,k表示迭代次数,x是解
%w表示松弛因子
n=length(A);
x1=zeros(n,1);x2=zeros(n,1);
x1=x0;k=0;
r=max(abs(b-A*x1));
while r>emg
for i=1:n
sum=0;
for j=1:n
if i~=j
sum=sum+A(i,j)*x1(j);
end
end
x2(i)= (b(i))-sum)/A(i,i) ;
end
r=max(abs(x2-x1));
x1=x2;
k=k+1;
if k>N
disp(‘迭代失败,返回’);
return;
end
end
x=x1;

运行程序

A=[-4,-1,0,-1,0,0;-1,4,-1,0,-1,0;0,-1,4,0,0,-1;-1,0,0,4,-1,0;0,-1,0,-1,4,-1;0,0,-1,0,-1,4];
b=[0 ,5, 0, 6, 2, 6]’;
x0=[0, 0, 0, 0, 0, 0]’;
[x,k]=Jacobimethod(A,b,x0,100,10^-5)

实现效果