汇编 10进制转16进制 冒泡排序
编译原理实验一 PL/0语言词法分析

插你个值

scturtle posted @ 2010年4月05日 03:07 in 各种实验 , 1220 阅读

最近浑浑噩噩的  觉得还是打游戏比较有前途吧

讨厌的数值分析 看也看不懂 还有matlab

lagrange 插值

function l
clc,clear,close
a=[-3,0,3,6];
b=[-1,2,-2,10];

for i=1:100
   x(i)=i;
   y(i)=lagrange(a,b,x(i));
end
plot(x,y)

function y=lagrange(a,b,x)
n=length(a);
y=0;
for i=1:n
   y=y+b(i)*li(x,a,i);
end

function f=li(x,a,i)
n=length(a);
f=1;
for j=1:n
   if j~=i
      f=f*(x-a(j));
      f=f/(a(i)-a(j));
   end
end

 newton插值

function newton
clc,clear,close
a=[-3,0,3,6];
b=[-1,2,-2,10];

for i=1:100
   x(i)=i;
   y(i)=f(a,b,x(i));
end
plot(x,y)

function y=f(a,b,x)
n=length(a);
y=b(1);
for i=2:n
   t=1;
   for j=1:i-1
      t=t*(x-a(j));
   end
   y=y+t*juncha(a,b,1,i);
end
      
function f=juncha(a,b,m,n)
if m==n
   f=b(m);
else
   f=(juncha(a,b,m,n-1)-juncha(a,b,m+1,n))/(a(m)-a(n));
end

 

 Aitken:

function a
clc,clear,close
a=[-3,0,3,6];
b=[-1,2,-2,10];

for i=1:100
   x(i)=i;
   y(i)=aitken(a,b,x(i));
end
plot(x,y)

function y=aitken(a,b,x)
n=length(a);

if n==2
    y=b(1)*(x-a(2))-b(2)*(x-a(1));
    y=y/(a(1)-a(2));
else
    c=a;d=b;
    c(n)=[];d(n)=[];
    t1=aitken(c,d,x);
    c=a;d=b;
    c(n-1)=[];d(n-1)=[];
    t2=aitken(c,d,x);
    y=t1*(x-a(n))-t2*(x-a(n-1));
    y=y/(a(n-1)-a(n));
end

登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter