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代码
Jul 17 PHP
php实现zip压缩文件解压缩代码分享(简单易懂)
May 10 PHP
php把数据表导出为Excel表的最简单、最快的方法(不用插件)
May 10 PHP
PHP APC配置文件2套和参数详解
Jun 11 PHP
PHP计算一年多少个星期和每周的开始和结束日期
Jul 01 PHP
一款简单实用的php操作mysql数据库类
Dec 08 PHP
分享php邮件管理器源码
Jan 06 PHP
php开发时容易忘记的一些技术细节
Feb 03 PHP
ecshop适应在PHP7的修改方法解决报错的实现
Nov 01 PHP
PHP实现获取第一个中文首字母并进行排序的方法
May 09 PHP
PHP mysqli事务操作常用方法分析
Jul 22 PHP
PHP微信发送推送消息乱码的解决方法
Feb 28 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
《斗罗大陆》六翼天使武魂最强,为什么老千家不是上三宗?
2020/03/02 国漫
php的控制语句
2006/10/09 PHP
PHP 伪静态技术原理以及突破原理实现介绍
2013/07/12 PHP
php数组索引与键值操作技巧实例分析
2015/06/24 PHP
WordPress用户登录框密码的隐藏与部分显示技巧
2015/12/31 PHP
PHP使用内置函数生成图片的方法详解
2016/05/09 PHP
jQuery EasyUI API 中文文档 - Calendar日历使用
2011/10/19 Javascript
js 验证密码强弱的小例子
2013/03/21 Javascript
jquery如何扑捉回车键触发的事件
2014/04/24 Javascript
Javascript实现代码折叠功能
2016/08/25 Javascript
AngularJS 应用身份认证的技巧总结
2016/11/07 Javascript
如何写好你的JavaScript【推荐】
2017/03/02 Javascript
javascript获取图片的top N主色值方法详解
2018/01/26 Javascript
详解React+Koa实现服务端渲染(SSR)
2018/05/23 Javascript
微信小程序开发的基本流程步骤
2019/01/31 Javascript
帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)
2019/08/23 Javascript
VSCode搭建React Native环境
2020/05/07 Javascript
ES6中的类(Class)示例详解
2020/12/09 Javascript
[44:37]完美世界DOTA2联赛PWL S3 Forest vs access 第一场 12.11
2020/12/13 DOTA
Python装饰器的执行过程实例分析
2018/06/04 Python
Python wxpython模块响应鼠标拖动事件操作示例
2018/08/23 Python
python飞机大战pygame游戏背景设计详解
2019/12/17 Python
Python3打包exe代码2种方法实例解析
2020/02/17 Python
python图片剪裁代码(图片按四个点坐标剪裁)
2020/03/10 Python
Python 使用office365邮箱的示例
2020/10/29 Python
HTML5中Localstorage的使用教程
2015/07/09 HTML / CSS
潘多拉珠宝英国官方网上商店:PANDORA英国
2018/06/12 全球购物
污水厂厂长岗位职责
2014/01/04 职场文书
《泉水》教学反思
2014/04/11 职场文书
勿忘国耻9.18演讲稿(经典篇)
2014/09/14 职场文书
乡镇干部个人对照检查材料思想汇报
2014/10/04 职场文书
教师党员批评与自我批评
2014/10/15 职场文书
党的群众路线教育实践活动个人对照检查材料(企业)
2014/11/05 职场文书
2014年行政工作总结
2014/11/19 职场文书
Python 如何利用ffmpeg 处理视频素材
2021/11/27 Python
vue本地构建热更新卡顿的问题“75 advanced module optimization”完美解决方案
2022/08/05 Vue.js