zy展示hhhhh

该博客展示了MATLAB中用于数值计算的几个实例,包括不动点法求解函数、高斯消元法解线性方程组、高斯-塞德尔迭代法求解线性方程组以及差商表的计算。通过具体的代码实现,解释了这些方法的工作原理和应用。
摘要由CSDN通过智能技术生成

eps=1e-6;
a=1;
f=@(x) log(4-sin(x));
y=fix_p(a,eps,f);
disp('不动点法结果');
disp(y);
function a = fix_p(a,eps,f)
while abs(f(a) - a) >= eps
        a = f(a);
end
end

clear;
clc;
A=[1 -1 3;-1 0 -2;2 2 4];
B=[-3;1;0];
x1=GUSS(A,B);
disp('方程组的解为')
disp(x1);
function [y] = GUSS(A,B)
      N=size(A,1);
      x=zeros(N:1);
      AB=[A B];
      C=zeros(1:N+1);
      Y=zeros(N,1);
      U=zeros(N:N);
for p=1:N-1
 [max1 number]=max(abs(AB(p:N,p)));  %选列主元
C=AB(p,:);
 AB(p,:)=AB(p+number-1,:);
 AB(p+number-1,:)=C;
 for k=p+1:N            %化为上三角
 m=AB(k,p)/AB(p,p);
 AB(k,p:N+1)=AB(k,p:N+1)-m*AB(p,p:N+1);
 end
end
U=AB(1:N,1:N);
Y=AB(1:N,N+1);
x(N,1)=Y(N)/U(N,N);
for n=N-1:-1:1
   x(n,1)=(Y(n)-U(n,n+1:N)*x(n+1:N,1))/U(n,n);
end
y=x;
end
 

 

A=[3 -1 2 2 2 1/2;-1 3 -1 0 1/2 0;0 -1 3 -1 0 0;0 0 -1 3 -1 0;0 1/2 0 -1 3 -1;1/2 0 0 0 -1 3];
B=[2.5;1.5;1;1;1.5;2.5];
x0=[1 1 1 1 1 1];
M=100;
x=G_S(A,B,x0,1e-4,M);
disp('运算结果');
disp(x);

function[x] = G_S(A,b,x0,e,M)
n = size(A,1);
x = zeros(n,1);
for m = 1 : M
for p=1 : n
s = 0;
t = 0;
for q=1 : p-1
s = s + A(p,q) * x(q);
end
for q = p + 1 : n
t = t + A(p,q) * x0(q);
end
x(p) = -(s + t - b(p))/A(p,p);
end
if norm(x - x0, Inf) < e
break;
else
x0 = x;
end
end
if m == M
disp('达到最大循环次数');
end
end
 

 

n = 4;
f = zeros(n,n);
xi = [1800,1850,1900,2000];
x = 1950;
yi = [280,283,291,370];
for k = 1:n
     f(k) = yi(k);
end
for i=2:n
     for k=i:n
           f(k,i)=(f(k,i-1)-f(k-1,i-1))/(xi(k)-xi(k+1-i)); 
     end
end
disp("差商表");
disp(f);
p=0;
for k=2:n
      t=1;
     for j=1:k-1
       t=t*(x-xi(j));
     end
     p=f(k,k)*t+p;
end
p=f(1,1)+p;
fprintf('%.3fppm',p);
 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值