PHP写的求多项式导数的函数代码


Posted in PHP onJuly 04, 2012
<?php 
function getDerivativeByFormulaAndXDATA($formula, $x_data){ 
$xArray = explode("+", $formula); 
$Derivative = 0; 
foreach ($xArray as $x_record) { 
$tmpArray = explode("x^", $x_record); 
if(count($tmpArray) == 2){ 
$coefficient = $tmpArray[0]==""?1:$tmpArray[0]; 
$exp = $tmpArray[1]; 
} 
//constant 
else { 
$coefficient = $tmpArray[0]; 
$exp = 0; 
} 
$Derivative += $coefficient*$exp*pow($x_data,$exp-1); 
} 
return $Derivative; 
} 
function getValueByFormulaAndXDATA($formula, $x_data){ 
$xArray = explode("+", $formula); 
$y_data = 0; 
foreach ($xArray as $x_record) { 
$tmpArray = explode("x^", $x_record); 
if(count($tmpArray) == 2){ 
$coefficient = $tmpArray[0]==""?1:$tmpArray[0]; 
$exp = $tmpArray[1]; 
} 
//constant 
else { 
$coefficient = $tmpArray[0]; 
$exp = 0; 
} 
$y_data += $coefficient*pow($x_data,$exp); 
} 
return $y_data; 
} 
function getMaxDerivativeByFormulaAndXDATAS($formula, $x_datas, &$matchs){ 
$derivatives = array(); 
$max_derivative = 0; 
foreach ($x_datas as $x_data) { 
$derivative = getDerivativeByFormulaAndXDATA($formula, $x_data); 
$derivatives[$x_data] = $derivative; 
$max_derivative = $max_derivative>=abs($derivative)?$max_derivative:abs($derivative); 
//printf("x=%f, derivative=%f \n",$x_data, $derivative); 
} 
$matchs = array(); 
foreach ($derivatives as $x_data=>$derivative) { 
if(abs($derivative) == $max_derivative){ 
$matchs[] = $x_data; 
} 
} 
printf("max derivative=%f\n",$max_derivative); 
foreach ($matchs as $x_match) { 
printf(" derivative=%f when x=%f\n",$derivatives[$x_match], $x_match); 
} 
} 
//notice the format of formula: ax^b if b=0 could omit except coefficient a, if a=1 could omit coefficient 
$formula = "x^2+2x^1+1"; 
print "The formula is $formula \n"; 
//printf("Derivative of 2 is %f \n",getDerivativeByFormulaAndXDATA($formula, 3.2)); 
//print getValueByFormulaAndXDATA($formula, 3.2)."\n"; 
$sampleData = array(-12,-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,1,2,3,4,5,6,7,8,9,10,11,12); 
foreach ($sampleData as $x_data) { 
$str.=$x_data.", "; 
} 
print "sample x values: $str \n"; 
getMaxDerivativeByFormulaAndXDATAS($formula, $sampleData, $matchs)."\n"; 
?>

the output will be:
sample x values: -12, -11, -10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
max derivative=26.000000
derivative=26.000000 when x=12.000000
PHP 相关文章推荐
PHP 5.0对象模型深度探索之绑定
Sep 05 PHP
smarty实例教程
Nov 19 PHP
PHP5中的时间相差8小时的解决办法
Mar 28 PHP
PHP stream_context_create()作用和用法分析
Mar 29 PHP
php中字符串和正则表达式详解
Oct 23 PHP
php强制运行广告的方法
Dec 01 PHP
php生成静态html页面的方法(2种方法)
Sep 14 PHP
php多线程实现方法及用法实例详解
Oct 26 PHP
PHP文件上传之多文件上传的实现思路
Jan 27 PHP
修改yii2.0用户登录使用的user表为其它的表实现方法(推荐)
Aug 01 PHP
YII框架常用技巧总结
Apr 27 PHP
PHP 实现缩略图
Mar 09 PHP
php中禁止单个IP与ip段访问的代码小结
Jul 04 #PHP
提高php运行速度的一些小技巧分享
Jul 03 #PHP
PHP连接SQLServer2005的实现方法(附ntwdblib.dll下载)
Jul 02 #PHP
php.ini-dist 和 php.ini-recommended 的区别介绍(方便开发与安全的朋友)
Jul 01 #PHP
apache+codeigniter 通过.htcaccess做动态二级域名解析
Jul 01 #PHP
php下载文件的代码示例
Jun 29 #PHP
PHP sprintf() 函数的应用(定义和用法)
Jun 29 #PHP
You might like
php结合飞信 免费天气预报短信
2009/05/07 PHP
php addslashes 函数详细分析说明
2009/06/23 PHP
PHP gbk环境下json_dencode传送来的汉字
2012/11/13 PHP
php中通过curl检测页面是否被百度收录
2013/09/27 PHP
php一行代码获取文件后缀名实例分析
2014/11/12 PHP
PHP 模拟登陆功能实例详解
2019/09/10 PHP
用javascript作一个通用向导说明
2011/08/30 Javascript
jQuery表单验证插件formValidator(改进版)
2012/02/03 Javascript
那些年,我还在学习jquery 学习笔记
2012/03/05 Javascript
javascript闭包的理解
2015/04/01 Javascript
javascript清空table表格的方法
2015/05/14 Javascript
node.js读取文件到字符串的方法
2015/06/29 Javascript
通用javascript代码判断版本号是否在版本范围之间
2015/11/29 Javascript
jQuery实现布局高宽自适应的简单实例
2016/05/28 Javascript
微信小程序 rpx 尺寸单位详细介绍
2016/10/13 Javascript
Angular.js中$resource高大上的数据交互详解
2017/07/30 Javascript
用Vue.extend构建消息提示组件的方法实例
2017/08/08 Javascript
微信小程序数字滚动插件使用详解
2018/02/02 Javascript
vue生命周期的探索
2019/04/03 Javascript
微信小程序使用npm包的方法步骤
2019/08/13 Javascript
vue输入节流,避免实时请求接口的实例代码
2019/10/30 Javascript
解决vue cli4升级sass-loader(v8)后报错问题
2020/07/30 Javascript
Python开发的HTTP库requests详解
2017/08/29 Python
详谈python read readline readlines的区别
2017/09/22 Python
python实现读Excel写入.txt的方法
2018/04/29 Python
Python设计模式之策略模式实例详解
2019/01/21 Python
python将dict中的unicode打印成中文实例
2020/05/11 Python
Nike西班牙官方网站:Nike.com (ES)
2017/10/30 全球购物
英国领先的在线旅游和休闲零售商:lastminute.com
2019/01/23 全球购物
ASICS印度官方网站:日本专业运动品牌
2020/06/20 全球购物
销售类个人求职信范文
2013/09/25 职场文书
对孩子的寄语
2014/04/09 职场文书
班级光棍节联谊会策划书
2014/10/10 职场文书
2014年客户经理工作总结
2014/11/20 职场文书
工作经验交流材料
2014/12/30 职场文书
InterProcessMutex实现zookeeper分布式锁原理
2022/03/21 Java/Android