用C进行导数和积分的运算

进行求导

设一个dx,利用f(x)-f(x-dx)/dx或f(x)-f(x+dx)/dx进行计算。

float qd(float x)
{
float dx=0.01,y;
y1=(sin(x)+cos(x)-sin(x-dx)-cos(x-dx))/dx; //即f'(x)=[f(x)-f(x-dx)]/dx
return(y);
}

不断缩小dx的值,以提高精度。

float qd(float x)
{
float dx=0.01,dd1,dd2;//设置两个导数变量,让两变量相减求误差
do
{
dd1=(f(x+dx)-f(x))/dx;
dx=0.5*dx;//不断缩小dx的值,
dd2=(f(x+dx)-f(x))/dx;
}//通过不断迭代,让两变量的差不断缩小
while(fabs(dd1-dd2)>=1e-06);//确定所需要的精度
return(dd1);
}

进行积分

确定每个小区间的值

float jf(float a,float b)//确定目标区间
{
float s=0,d=0.0001;
for (i=a;i<b;i+=d) //将目标区间分为1/d个小区间,并递进Xi
{
s+=f(i)*d;//即∑f(ξi)*dXi,为了简化计算使用Xi代替ξi
}
return(s);
}

确定小区间的数目

float jf(float a,float b)//确定目标区间
{
float s=0,x=a,N=100000;
for(int i=1;i<1+N;i++)//将目标区间分为N个小区间,一般越小越好。但由于浮点精度,不易过小
{
x=(x+(b-a)/N);//不断递进Xi的i值
s+=f(x)*((b-a)/N);//即∑f(ξi)*dXi,为了简化计算使用Xi代替ξi
}
return s;
}

综上,C可以通过简单的代码来实现求导与积分的计算。

C语言的导数和积分的更多相关文章

  1. R语言的导数计算(转)

    转自:http://blog.fens.me/r-math-derivative/ 前言 高等数学是每个大学生都要学习的一门数学基础课,同时也可能是考完试后最容易忘记的一门知识.我在学习高数的时候绞尽 ...

  2. PID控制算法的C语言实现八 变积分的PID控制算法C语言实现

    变积分PID可以看成是积分分离的PID算法的更一般的形式.在普通的PID控制算法中,由于积分系数ki是常数,所以在整个控制过程中,积分增量是不变的.但是,系统对于积分项的要求是,系统偏差大时,积分作用 ...

  3. PID控制算法的C语言实现六 抗积分饱和的PID控制算法C语言实现

    所谓的积分饱和现象是指如果系统存在一个方向的偏差,PID控制器的输出由于积分作用的不断累加而加大,从而导致执行机构达到极限位置,若控制器输出U(k)继续增大,执行器开度不可能再增大,此时计算机输出控制 ...

  4. PID控制算法的C语言实现七 梯形积分的PID控制算法C语言实现

    在PID控制律中积分项的作用是消除余差,为了减小余差,应提高积分项的运算精度,为此,可将矩形积分改为梯形积分. 梯形积分的计算公式为: pid.voltage=pid.Kp*pid.err+index ...

  5. Rserve详解,R语言客户端RSclient【转】

    R语言服务器程序 Rserve详解 http://blog.fens.me/r-rserve-server/ Rserve的R语言客户端RSclient https://blog.csdn.net/u ...

  6. luogu P4725 多项式对数函数 (模板题、FFT、多项式求逆、求导和积分)

    手动博客搬家: 本文发表于20181125 13:25:03, 原地址https://blog.csdn.net/suncongbo/article/details/84487306 题目链接: ht ...

  7. PID控制算法的C语言实现

    参考: PID控制器开发笔 浅谈位置式PID 专家PID控制在快速系统中的仿真及应用(这篇了论文介绍的积分分离PID.专家PID(脚本实现和simulink实现)很详细) PID控制算法的C语言实现一 ...

  8. 论文翻译 - Multiagent Bidirectionally-Coordinated Nets Emergence of Human-level Coordination in Learning to Play StarCraft Combat Games

    (缺少一些公式的图或者效果图,评论区有惊喜) (个人学习这篇论文时进行的翻译[谷歌翻译,你懂的],如有侵权等,请告知) Multiagent Bidirectionally-Coordinated N ...

  9. 听dalao讲课 7.26

    XFZ今天讲了些关于多项式求ln和多项式求导以及多项式求积分的东西 作为一个连导数和积分根本就不会的蒟蒻,就像在听天书,所以不得不补点前置知识 1.积分 积分是微积分学与数学分析里的一个核心概念.通常 ...

  10. 三维投影总结:数学原理、投影几何、OpenGL教程、我的方法

    如果要得到pose视图,除非有精密的测量方法,否则进行大量的样本采集时很耗时耗力的.可以采取一些取巧的方法,正如A Survey on Partial of 3d shapes,描述的,可以利用已得到 ...

随机推荐

  1. 实践:Oracle 数据库基于 RMAN 备份至 腾讯云COS

    简介 对象存储(COS)海量容量无上限,自动沉降归档存储类型和深度归档存储类型,媲美磁带的成本,特别适合备份归档场景. 当前,越来越多客户选择备份上云:而 Oracle 备份模块实现了和 腾讯云COS ...

  2. Excel——解除工作表保护

    策略:删除密码保护,而非破解密码 例 该工作簿有工作表保护,因忘记密码,无法更改内容. 解决方案 1.用压缩软件打开表格. 2.向下进入目录:xl/worksheets,选择sheet1.xml,用记 ...

  3. JMeter压测基础(二)——Mysql数据库

    JMeter压测基础(二)Mysql数据库 环境准备 mysql驱动 JMeter jdbc配置 JMeter jdbc请求 1.下载mysql驱动:mysql-connector-java.jar ...

  4. echarts的label的formatter 自动换行

    1.加 \n 2.使用extraCssText

  5. Resport 四则运算

    使用FormatNumber 即可 [FormatNumber([Total2]/[Total1]*100)]%

  6. k8s 更改pod数量限制(默认每个节点最多110组pod)

      1.登录 node 节点,查看kubelet启动文件路径 [root@xxxxxxxZ ~]# systemctl status kubelet ● kubelet.service - kubel ...

  7. Linux 系统挂载 ntfs 移动硬盘无法写入的问题

    linux 下挂载 ntfs 移动硬盘无法写入问题 在机房使用移动硬盘时发现无法写入硬盘,具体是 Ubuntu 21.04 ,移动硬盘是 SSD ,分区类型是 NTFS . 首先百度得知最优办法是安装 ...

  8. Sql Server 服务无法正常启动,126异常

    SQL Server 一记 异常信息 方法/步骤 打开[开始菜单]找到软件SQL Server下面的[配置管理器] 可以看到数据库主服务是 '停止' 状态: ![数据库主服务 展开[SQL Serve ...

  9. element 表格show-overflow-tooltip的属性设置样式

    在style标签中不要加scoped .el-tooltip__popper { max-width: 60% !important; } .el-tooltip__popper, .el-toolt ...

  10. php excel导出列超过26个字母处理

    /** * String from columnindex * * @param int $pColumnIndex Column index (base 0 !!!) * @return strin ...