原文地址:http://blog.csdn.net/ville_zeng/article/details/25370053,转载请注明出处!

昨晚一朋友问了我道数学题:已知弧长l=156,弦长d=140,求半径R和夹角a。

我试了下,方程比较好列,但是求解的话就比较费劲了,心想要是用Matlab的话也就瞬间的事儿,可电脑没安装Matlab,然后想到Python的一个数学库scipy,研究下,是可以解决的。

方程如下:

·      cos(a) = 1 - d^2 / (2*R^2)

·       L = a * R

使用scipy下的fsolve函数即可求解,代码如下:

from scipy.optimize import fsolve
from math import cosdef f(x):d = 140l = 156a = float(x[0])r = float(x[1])return [cos(a) - 1 + (d*d)/(2*r*r),l - r * a]
result = fsolve(f, [1, 1])
print result

计算结果:

[  1.5940638   97.86308398],即夹角为1.59,半径为97.86

关于scipy函数库,官网地址:http://www.scipy.org/,文档地址:http://sebug.net/paper/books/scipydoc/scipy_intro.html。该库貌似没法用pip install安装,安装的话Ubuntu平台下可以如下操作:

sudo apt-get install python-numpy python-scipy

因为scipy是依赖numpy的,所以两者都要安装。文章写的比较简单,希望能给读者以帮助。

Python求解非线性方程相关推荐

  1. python解非线性方程组_python scipy求解非线性方程的方法(fsolve/root)

    使用scipy.optimize模块的root和fsolve函数进行数值求解线性及非线性方程,下面直接贴上代码,代码很简单 from scipy.integrate import odeint imp ...

  2. 偏微分方程数值解法python_基于python求解偏微分方程的有限差分法资料

    基于python求解偏微分方程的有限差分法资料 Computer Era No. 11 2016 0 引言 在数学中, 偏微分方程是包含多变量和它们的偏 导数在内的微分方程.偏微分方程通常被用来求解 ...

  3. python求解多元多次方程组或非线性方程组

    背景:如何使用python求解多元多次方程组或者非线性方程组. 原创内容,转载注明出处!请勿用于商业用途! (上篇用python拟合2019nCov感染人数的文章被不少博主转载了,发的比较早,不少博主 ...

  4. Python(解非线性方程和线性方程)求水力学法向深度-浪涌高度速度及互连反应器中的浓度和流体分布

    非线性方程 在水力学领域遇到的非线性方程的一个例子是通过长梯形通道寻找流动的法向深度 y n y_n yn​. 这样的流动深度出现在均匀流动区域,远离任何不均匀原因的影响,例如堰的上游. 法向深度 y ...

  5. python牛顿法解非线性方程组_利用python求非线性方程

    最近在做的东西中有一件任务,相当于一个函数已知y来求x,网上找了各种办法最终得以实现.在此说明方法,并记录一些坑. 要求的函数比如:*log(x) - log(1-x) + 2.2 * (1 -2x) ...

  6. python 物理学中的应用_利用python求解物理学中的双弹簧质能系统详解

    前言 本文主要给大家介绍了关于利用python求解物理学中双弹簧质能系统的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 物理的模型如下: 在这个系统里有两个物体,它们的质 ...

  7. python代码物理_利用python求解物理学中的双弹簧质能系统详解

    前言 本文主要给大家介绍了关于利用python求解物理学中双弹簧质能系统的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 物理的模型如下: 在这个系统里有两个物体,它们的质 ...

  8. 最大公约数python语言算法_使用Python求解最大公约数的实现方法

    这篇文章主要介绍了使用Python求解最大公约数的实现方法,包括用Python表示欧几里得算法和Stein算法的求解原理. 1. 欧几里德算法 欧几里德算法又称辗转相除法, 用于计算两个整数a, b的 ...

  9. 利用python求解节点介数和边介数

    利用python求解节点介数和边介数 利用networkx里面的函数betweenness_centrality(G)来求解节点介数和函数edge_betweenness_centrality(G)来 ...

最新文章

  1. .Net面试题(3)
  2. 【算法】二分图的判定
  3. 在Linux下编写C程序,怎么检查程序是否有内存泄漏?
  4. 射灯安装方法图解_家居射灯怎么选?第三代宜美SMD射灯给你正解
  5. response php,HttpResponse.php
  6. .net 发布程序时出现“类型ASP.global_asax同时存在于...”错误的解决办法
  7. magento php mysql_Mysql版本过低导致Magento报错的解决方案
  8. 有关科学计算方面的python解决
  9. SpringCloud集成分布式事务LCN (一)
  10. layui 表单样式无效
  11. phpQuery采集乱码问题解决方案
  12. linux 3ds模拟器下载地址,3ds模拟器
  13. 使用飞桨一步步实现多语言OCR文字识别软件
  14. 写给理工科人看的乐理(四)和弦与调式
  15. MATLAB图形计算器去广告,多功能科学图形计算器(Mathlab)
  16. yyds、yygq、xswl...都是什么意思?
  17. IaaS 、PaaS、Bass、Fass、SaaS、无服务的概念与差别
  18. 同步电复律英文_同步电复律操作规程
  19. 关于该内存不能为read要终止程序
  20. linux 查看空间

热门文章

  1. 从你的全世界路过❤️——架构师frist blood
  2. Maven突然不从私服下载依赖了
  3. 无线通信模块——WiFi,蓝牙,2.4G
  4. mycat - 解开它神秘的面纱
  5. 小饭桌沙盘演戏商战-老友记成长
  6. stm32 HardFault_Handler调试及问题查找方法——飞思卡尔
  7. 新教师计算机培训心得体会,教师培训心得体会
  8. 【分词器】11大Java开源中文分词器的使用方法和分词效果对比
  9. unity-导航系统
  10. 会计学原理学习笔记——第三章——账户与复式记账(3.5生产准备业务核算——费用发生业务核算)