matlab或_如何利用MATLAB计算圆周率
圆周率是圆的周长与直径的比值,一般用希腊字母π表示,是一个在数学及物理学中普遍存在的数学常数。π也等于圆形之面积与半径平方之比。是精确计算圆周长、圆面积、球体积等几何形状的关键值。
MATLAB中的表达式pi返回值最接近基本常数π的浮点数。但是要注意,MATLAB中定义的pi与基本常数π之间的微小差异会导致计算结果出现微小的误差。例如,表达式sin(pi)(期望返回0)实际上在MATLAB中返回1.2246e-16。用户可以通过将sin(pi)的结果四舍五入来减小此误差带来的影响。
下面介绍如何利用MATLAB来计算圆周率的方法和示例:
1.作图法
利用MATLAB的作图函数plot画出sin(x)的曲线和y=0的直线,求出两条线的交点横坐标即得圆周率的近似值。程序代码如下:
上面的程序代码运行后,对所产生的二维线图中交点附近进行放大过程如下:
可以看出交点的横坐标在3.141592至3.141593之间。
2.数值求根法
利用fzero()对函数sin(x)在3附近的根进行数值求解,即可得到pi的近似值。
3.极值法
利用函数sin(x)在pi/2附近为极大值的特点,调用max()进行求解
4.数值积分法
利用四分之一圆的数值积分公式,调用数值积分函数quad()进行求解
MATLAB命令行窗口程序如下:
quad()和dblquad()分别是一维和二维的数值积分计算函数,新版的MATLAB建议用integral()和integral2()函数来替代。
5.蒙特卡洛法
蒙特卡洛法计算pi的原理如下面视频所示
MATLAB程序代码如下:
程序运行后可以得到
6.级数法
MATLAB程序代码如下:
在MATLAB命令行窗口调用函数chud_pi()可以得到如下结果
7.调用vpa()函数
直接调用vpa()函数可以显示pi的小数点后众多位数。
以上内容部分选自2019年最新出版的《高等光学仿真(MATLAB)——光波导,激光(第3版)》,欢迎参考(点击下方图片了解更多)。
matlab或_如何利用MATLAB计算圆周率相关推荐
- 利用Matlab进行灰色预测,利用matlab进行灰色预测.pdf
利用matlab进行灰色预测,灰色预测matlab程序,灰色预测模型matlab,matlab灰色预测,matlab灰色预测代码,matlab灰色预测工具箱,灰色预测的matlab程序,matlab灰 ...
- matlab ploty,matlab绘制函数 如何利用matlab的ploty
最近有网友提出"matlab绘制函数 如何利用matlab的ploty"等问题,小小知识站提取了各大知名网站有关"matlab绘制函数 如何利用matlab的ploty& ...
- 利用泰勒级数计算圆周率
作者:周竞文(jwzhou@nudt.edu.cn) 来源:- 领域:数学 难度:★★★ 任务描述 背景 任务 相关知识 编程要求 测试说明 任务描述 背景 上关利用泰勒级数计算圆周率,测试结果如下( ...
- matlab std函数_如何利用Matlab进行小波分析
小波分析(wavelet analysis), 或小波转换(wavelet transform)是指用有限长或快速衰减的.称为母小波(mother wavelet)的振荡波形来表示信号.该波形被缩放和 ...
- matlab sheet名字,MATLAB得到excel多个非默认sheet名_怎样利用matlab去读取一个excel表中多个sheet的数据并导入一个sheet中?...
如何用matlab读取一个excel表格中的若干个工作表 如果数字: xlsread('e:/shiyanshuju/shiyanbiaoge','sheet1','B1:D1440') 最好个表格放 ...
- matlab里滑动变阻器,利用MATLAB作图分析滑动变阻器大小的选择
科学教 育研 究 2011年 第 10期 读 写算 利用MATI,=AB作图分析滑动变阻器大小 的选择 左 洁 (泗阳中学高中部 江苏 泗阳 223700) [摘 要 1用MATLAB~图功能即通过表 ...
- matlab最小错误率决策,利用MATLAB实现最小错误率贝叶斯判别
利用MATLAB实现最小错误率贝叶斯判别 摘要:matlab软件平台为用户提供了强大的科学计算与可视化功能,具有简单.易用的用户环境,尤其适合矩阵数据的计算处理.根据matlab的特点,将其与模式识别 ...
- matlab 进行非线性回归,5.利用Matlab编程进行非线性回归分析.doc
5.利用Matlab编程进行非线性回归分析.doc §5. 利用Matlab编程计算非线性回归模型 --以Logistic曲线为例 1.原始数据 下表给出了某地区1971-2000年的人口数据(表1) ...
- matlab文件批量命名,利用MATLAB批量对文件重命名
利用MATLAB批量对文件重命名 tags: MATLAB 科研软件 序 窃·格瓦拉 没paper,实验肯定要做啊,不做就毕不了业 . 编程这方面,编程是不可能编程的,这辈子不可能编程的 . pape ...
最新文章
- python交互模式设置及VIM的tab补齐
- 深入源码分析Java线程池的实现原理
- 坐地起价、山寨横行、人身骚扰:割韭菜的刀,还是“搬家公司”快
- 国家邮政局公布一项数据 春节期间快递数量依旧很猛!
- java使用场景什么意思_Java开发中类隐藏及应用场景分析是什么?
- delphi7下实现http的post_ASP.NET Core Web API 实现过程
- 大数据-实时推荐系统最主流推荐系统itemCF和userCF视频教程下载
- 编写IOCP时的几个注意事项(Mirosoft)
- 开启“互联网+”模式打造智能移动APP巡检系统
- hadoop学习笔记01
- python学习笔记 - 函数: 传参列表副本(不改变列表本身)
- 鸿蒙系统怎么连wifi,鸿蒙入门:Hi3861 WiFi操作,热点连接
- 28款超级绿色版杀软,奉献给各位!【迅雷下载】
- RFID EPC Class1 Gen2电子标签笔记
- 淘宝无线端一键直达微博自助生成工具
- 【QT】通过QT_QPA_EGLFS_KMS_CONFIG宏来解决arm32环境下QT界面设置为透明却黑屏的问题
- 比特率,比特,字节的计算
- 三层交换机也不贵:自己动手做三层交换机
- Java简单循环依赖的解决 —— spring_imitate(Spring的模仿)
- unity游戏开发之打包apk谷歌上架报错总结
热门文章
- 人脸识别python face_recognize_【python+face_recognition】人脸识别初始
- c语言字符串子串查找_字符串操作的全面总结
- mysql脚本简书,mysql一键安装脚本
- redis 命令 释放连接_redis scan命令导致redis连接耗尽,线程上锁的解决
- amd核芯显卡控制面板自定义分辨率_玩家 | 独立显卡和核芯显卡哪个更香?
- 【Python教程】七种创建对象的方式,你知道几种?
- Python基础教程:type()函数-动态创建类
- Python标准库 数学与随机数 (math包,random包)
- Python处理正则表达式超时的办法
- 综合实例_管线综合支吊架施工实例赏析,工艺流程全面