⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 几个数值分析的算法例子.txt

📁 几个数值分析的例子
💻 TXT
字号:
几个数值分析的算法例子主站首页 ● 视频下载 ● 书籍下载 ● 软件下载 ● 论坛交流 ● 综合娱乐 ● 站内搜索 ● 网站地图


      豆豆技术网----中国最大的计算机教程网,伴你学习,助你成长的良师益友!
            几个数值分析的算法例子
                   作者:未知 更新人:Legume  来源:开发者俱乐部 更新时间:2004.08.05  投稿信箱: 
                  jc@ddvip.net


                  <%@ Language=VBScript %>
                  <%
                  '几个参考点的数据已经给出,输入参数只有 X

                  function view(result,inputx)'输出结果,同时如果<1 and >0,就在前面补0
                  if result<1 and result>0 then result=0&result
                  Response.Write "计算结果:"&"<br>"
                  Response.Write "F("&inputx&")="& result
                  end function


                  '********分段线性Lagrange插值**********
                  function Lagrange1(inputx)
                  dim k,i
                  dim x,y
                  x=array("0.1","0.2","0.3","0.4")
                  y=array("0.0998","0.1987","0.2955","0.3894")

                  if inputx<x(0) then k=0
                  if inputx>x(3) then k=2

                  for i=0 to 2
                  if inputx>=x(i) and inputx<=x(i+1)then k=i
                  result=((inputx-x(k+1))/(x(k)-x(k+1)))*y(k) + 
                  ((inputx-x(k))/(x(k+1)-x(k)))*y(k+1)
                  next
                  result= view(result,inputx)
                  end function?




                  '********分段三点二次Lagrange插值**********
                  function Lagrange2(inputx)
                  dim i,j,k,t
                  dim x,y
                  result=0
                  x=array("0.1","0.2","0.3","0.4")
                  y=array("0.0998","0.1987","0.2955","0.3894")

                  if inputx<=x(1) then k=0
                  if inputx>=x(2) then k=1
                  if inputx>x(1) and inputx<x(2) and 
                  abs(inputx-x(1))<=abs(inputx-x(2)) then k=0 else k=1


                  for j=k to k+2 
                  t=1
                  for i= k to k+2 
                  if i<>j then
                  t= t * (inputx-x(i))/(x(j)-x(i))
                  end if
                  next
                  result = result + t*y(j)
                  next
                  result= view(result,inputx)
                  end function 


                  '**********一元n点拉格朗日插值***********
                  function Lagrange3(inputx)
                  dim i,j
                  dim x,y
                  result=0
                  x=array("0","0.1","0.195","0.4","0.401","0.5")
                  y=array("0.39894","0.39695","0.39142","0.38138","0.36812","0.35206")

                  for j=0 to 5 
                  t=1
                  for i=0 to 5
                  if i<>j then
                  t= t * (inputx-x(i))/(x(j)-x(i))
                  end if
                  next
                  result = result + t * y(j)
                  next
                  result= view(result,inputx)
                  end function 



                  '***********牛顿(Newton)插值***********
                  function Newton(inputx)
                  dim x,y
                  dim i,j
                  result=0.39894
                  t=1
                  x=array("0","0.1","0.195","0.3","0.401","0.5")
                  y=array("0.39894","0.39695","0.39142","0.38138","0.36812","0.35206")

                  for j=1 to 5
                  t=t*(inputx - x(j-1))
                  for i=0 to 5-j 
                  y(i)=(y(i+1) - y(i)) / (x(i+j) - x(i)) 
                  next
                  result = result + t * y(0)
                  next
                  result= view(result,inputx)
                  end function


                  '***********埃特金(Aitken)插值***********
                  function Aitken(inputx)
                  dim i,j
                  dim x,y
                  x=array("0.5","0.65","0.8","1.0")
                  y=array("0.4794","0.6052","0.7174","0.8415")
                  for j=1 to 3
                  for i=j to 3
                  y(i)=y(j-1) + (y(i)-y(j-1)) / (x(i)-x(j-1))* (inputx-x(j-1))
                  next
                  next

                  result= view(y(3),inputx)
                  end function


                  '***********分段两点三次埃(厄)尔米特(Hermit)插值***********
                  function Hermit(inputx)
                  dim i,k
                  dim x,y,yy
                  x=array("0.1","0.3","0.5")
                  y=array("0.099833","0.295520","0.479426")
                  yy=array("0.995004","0.995336","0.877583")

                  if inputx<=x(0) then k=0
                  if inputx>=x(2) then k=1
                  for i=0 to 1
                  if x(i)<=inputx and inputx<=x(i+1) then k=i
                  next

                  hx1=(1+2*(inputx-x(k)) / (x(k+1)-x(k))) * mul((x(k+1)-inputx) 
                  / (x(k+1)-x(k)))
                  hx2=(1+2*(x(k+1)-inputx) / (x(k+1)-x(k))) * mul((inputx-x(k)) 
                  / (x(k+1)-x(k)))
                  hx3=(inputx - x(k))* mul((x(k+1)-inputx)/(x(k+1)-x(k)))
                  hx4=(inputx - x(k+1))* mul((inputx-x(k))/(x(k+1)-x(k)))

                  result=y(k)*hx1 + y(k+1)*hx2 + yy(k)*hx3 + yy(k+1)*hx4
                  result= view(result,inputx)
                  endfunction

                  function mul(str)
                  mul=str*str
                  end function

                  %>
                   

             



            本站部分教程收集于网络,版权归原作者及出版社所有
            如果您觉得侵犯了您的版权请来信告诉我们,我们会尽快删除其内容! 
            本站原创文章版权归本站所有,除特别申明外,大家可以自由转载,但原作者和来自本站的链接必须保留!




            投稿信箱 错误报告 联系管理员 
            版权声明 | 刊登广告 | 友情链接 | 网站地图 | 关于豆豆技术 
            &copy; 所有版权归豆豆技术 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -