最近学了学关于微积分的知识(当然,这还是最简单的),于是想到利用微分进行近似计算圆周长(除以2倍半径就是圆周率pi)

思路:

首先把圆放在直角坐标系中,不妨设圆心(0,0),半径r = 1。 因而,圆的标准方程为 x^2+y^2  = 1   (1)

下面开始微积分大法:(对圆方程这个隐函数求导数)

对方程(1)两边对x求导数: 2*x + 2*y *  y′ = 0  (解释一下:x^2 的导数为 2x ,  y^2 的导数为 2y * y′  ,  y′就是y对x的导数 , 右边常数1的导数为 0)

解出 y' = - x/y

根据微分 : dy = y' * dx , 再由弧微分的计算公式(实际上就是勾股定理), dx 对应的弧长约为 √dx^2+dy^2  .  图中MM' 近似用MT 表示。

然后让dx取一个趋近于0的数,一段一段求和即可(类似割圆法的思想)

代码:

#include<bits/stdc++.h>
using namespace std;double dx = 1,sum = 0,x,y,dy;int main()
{int n;cin >> n; //精确程度 for (int i = 1 ; i <= n ; i ++) {sum = 0; dx *= 0.1;printf("delta x = %llf ... sum = ",dx);for (x = dx ; x <= 1-dx  ; x += dx){y = sqrt(1-x*x);dy = -x/y*dx;sum += sqrt(dx*dx+dy*dy);// printf("%.5f %.5f %.5f\n",x,y,sum);}sum += 2*sqrt(dx*dx+dy*dy);printf("%lf\n",sum*4);     }return 0;
}

实际测试结果:

理论结果:

转载于:https://www.cnblogs.com/YMY666/p/10827397.html

【实用性程序】弧微分计算圆周长相关推荐

  1. html计算圆周长,【实用性程序】弧微分计算圆周长

    最近学了学关于微积分的知识(当然,这还是最简单的),于是想到利用微分进行近似计算圆周长(除以2倍半径就是圆周率pi) 思路: 首先把圆放在直角坐标系中,不妨设圆心(0,0),半径r = 1. 因而,圆 ...

  2. 用PHP编写圆的半径和周长,在C++中编写程序输入半径计算圆的周长和面积

    现在计算机语言应用是很多的,如果你使用电脑又会使用计算机语言那就是更加的吃香了,今天我们就来说说C语言,在C++中编写程序输入半径计算圆的周长和面积. 工具/材料 电脑.VC++软件 我们首先要下载安 ...

  3. C语言-函数案例-计算圆周长

    C语言-函数案例-计算圆周长 任务要求 设圆半径r=1.5,圆柱高h=3,求圆周长.圆面积.圆球表面积.圆球体积.圆柱体积. 用scanf()输入数据, 输出计算结果.输出时要有说明,结果取小数点后两 ...

  4. php编写半径为4圆的周长,在C++中编写程序输入半径计算圆的周长和面积,来学习吧...

    C语言的应用很广泛.今天举一个很简单的例子来学习C++的基本格式和基本知识.从键盘输入半径,输出周长和面积.以VC++为例. 工具/材料 安装成功的VC++软件 普通电脑 操作方法 01 打开VC++ ...

  5. java组合类,对象组合,定义一个点类,将圆的圆心用点类的对象表示,则圆类定义为一个组合类,仍然能计算圆的面积和周长,并能对圆进行移动。

    对象组合的概念 如果一个对象中的域是其他类的对象,则称这个对象是组合对象,组合对象所在的类是组合类.例如计算机是由其他部件(对象)组成的.通过组合的方式,可以简化对象的创建过程,提高对象的创建效率.从 ...

  6. java类求圆的面积周长_java编程 1. 设计一个求圆的面积和周长的类,要求:1计算当半径r,JAVA编程题。编写一个应用程序计算圆的周长和面积,设圆的半...

    问题标题 java编程 1. 设计一个求圆的面积和周长的类,要求:1计算当半径r,JAVA编程题.编写一个应用程序计算圆的周长和面积,设圆的半 2019-5-23来自ip:15.196.194.53的 ...

  7. 编写程序计算圆的面积和周长

    # 学习目标: 编写程序计算圆的面积和周长 学习内容: c语言练习每日一练 编写程序计算圆的面积和周长.已知pi定义为3.14. **输入格式要求:"" 提示信息:"请输 ...

  8. 编写程序计算圆的面积和周长。

    编写程序计算圆的面积和周长.已知pi定义为3.14. **输入格式要求:"%f" 提示信息:"请输入半径的值:" **输出格式要求:"半径为%5.2f ...

  9. python输入半径求圆的面积、保留三位小数_编写程序,输入圆的半径,求该圆的面积与周长(保留三位小数)。 /* 程序功能:输入圆的半径,计算圆的面积与周长*/_学小易找答案...

    [编程题]从字符串中删除指定的字符.同一字母的大小写按不同字符处理. 例如:若程序执行时,输入字符串为: turbo c and Borland c++ ,从键盘上输入字符: n ,则输出后变为: t ...

  10. Linux编写c程序计算圆的面积,c语言如何计算圆面积和周长

    c语言计算圆的面积和周长,可能对于新手来说,有一定的难度.但其实只要了解圆面积和周长的计算原理,也就很容易实现了. 在几何中,圆的面积等于πr²,圆周长等于2πr.这里的希腊字母π是一个常数约等于3. ...

最新文章

  1. 干货丨深度学习VGG模型核心拆解
  2. Web开发中的相对路径和绝对路径
  3. prometheus+grafana+pushgateway+node-exporter+consul搭建监控系统
  4. 网页制作获得用户喜爱才是重点!
  5. how tomcat works 1 simple web server
  6. mysql group by join_mysql – GROUP BY之后的LEFT JOIN?
  7. linux docker导入镜像,Docker镜像的导入和导出
  8. UVA 10173 旋转卡壳
  9. 台式计算机内存是什么意思,电脑提示计算机内存不足是什么意思
  10. Oracle中的单行函数
  11. htaccess文件是什么
  12. winformlabel自动换行
  13. 2022年美容师(初级)操作证考试题库及模拟考试
  14. 第2次作业—— 时事点评
  15. ASP.NET Web——GridView完整增删改查示例(全篇幅包含sql脚本)大二结业考试必备技能
  16. html文本框柔化边缘,html – CSS模糊并使用绝对div保留锐利边缘
  17. 云与瘦客户机 未来IT数据安全延续
  18. 常用的时间复杂度所耗费的时间由小到大
  19. python black_如何使用Black自动格式化Python代码
  20. 现在有一个未分库分表的系统,未来要分库分表,如何设计才可以让系统从未分库分表动态切换到分库分表上?

热门文章

  1. 【Java编程】模拟帐户存取和转账操作
  2. 直通车内测“定时上架”功能,商家可以提前锁定爆款了!
  3. web前端数据可视化框架汇总
  4. 队列总结(六)DelayQueue
  5. iic总线从机仲裁_对 IIC 总线的理解、调用函数以及常见面试问题
  6. Android 如何正确的获取屏幕高度
  7. 小程序上对接阿里的语音识别
  8. html5移动端海报制作,H5制作利器,教你分分钟制作高/大/上H5海报!
  9. linux怎么取消光盘,怎样取消ubuntu官方光盘
  10. Windows Server 2008 R2将tomcat添加进系统服务