Home > Backend Development > PHP Tutorial > 数值分析(php兑现)一:Lagrange插值

数值分析(php兑现)一:Lagrange插值

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-06-13 11:01:37
Original
938 people have browsed it

数值分析(php实现)一:Lagrange插值
在学数值分析,试着用php实现下,有兴趣的朋友可以粘下来试试
Lagrange插值就是给出n个已知的点,用多项式函数拟合,求出拟合的函数,进而估算未知点函数值的一种插值过程
插值函数是f(x) = xigma(求和) lk*yk
本类实现了插值后显示函数图像的功能

<?php /* * Lagrange插值 * @wangbin * */class Lagrange{	private $dot = array();	public function __construct($array){        $this->dot = $array;    }    /*     * 计算lk     * */	private function get_lk($x,$k){        $num = count($this->dot['x']);		$omiga_xk = 1;		$omiga_x = 1;		for($i = 0;$i dot['x'][$k]-$this->dot['x'][$i]);				$omiga_x *= ($x - $this->dot['x'][$i]);			}		}		$lk = $omiga_x/$omiga_xk;		return $lk;	}	public function get_y($x){        $num = count($this->dot['x']);		$L = 0;		for($k = 0;$k get_lk($x,$k);            $L += ($this->dot['y'][$k]*$lk);		}		return $L;    }    public function draw(){        $img = imagecreate(500,500);        imagecolorallocate($img,255,255,2);        $num = count($this->dot['x']);        $max = 0;        for($i = 0;$i dot['x'][$i] ? $this->dot['x'][$i]:$max;        $r = 7;//点的半径        $step = 0.1;//步长        for($i = 0;$i dot['x'][$i],$this->dot['y'][$i],$r,$r,1);        }        for($i = $this->dot['x'][0]-10;$i get_y($current_x);            $next_x = $i + $step;            $next_y = $this->get_y($next_x);            imageline($img,$current_x,$current_y,$next_x,$next_y,1);        }        header("Content-type: image/png");        imagepng($img);        imagedestroy($img);    }}$x = new Lagrange(array('x'=>array(10,30,100,120,220),'y'=>array(20,40,240,220,340)));$x->draw();?>
Copy after login

1 楼 luozhong915127 2011-11-17  
数值分析(php兑现)一:Lagrange插值 全是代码,没有解释呀
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Issues
Why is this ID written like this?
From 1970-01-01 08:00:00
0
0
0
Small question about $this
From 1970-01-01 08:00:00
0
0
0
What's the use of this?
From 1970-01-01 08:00:00
0
0
0
This file demo.mp4
From 1970-01-01 08:00:00
0
0
0
javascript - es6中this
From 1970-01-01 08:00:00
0
0
0
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template