-
2020-12-02 21:34:21
我正在尝试在
python中评估以下函数:
f(x) = (1 + cos(x))^(1/3)
def eval( i ):
return math.pow( (1 + math.cos( i )), 1/3)
为什么它总是让我回归1?
我正在尝试计算积分的右和左近似,后者应用辛普森的规则,但Python似乎不喜欢那个表达式.
救命?
*完整代码*
import math
min = 0
max = math.pi / 2
n = 4
delta = ( min + max ) / n
def eval( i ):
return math.pow( (1 + math.cos( i )), 1/3)
def right( ):
R = 0
for i in range(1, n+1):
R += eval( i )
return R
def left():
L = 0
for i in range(0, n):
print eval( i )
L += eval( i )
更多相关内容 -
用Python求某数的立方根-牛顿迭代法
2020-06-20 19:29:13首先了解什么是牛顿迭代法。 太多公式符号了,这个编辑器打出来能累死人。直接上手写图。首先了解什么是牛顿迭代法。
太多公式符号了,这个编辑器打出来能累死人。直接上手写图。
以上推导出牛顿迭代式,可以看出该迭代式是一种近似根求方程的好方法。
Python代码实现求某数的立方根n=float(input()) last=n new=last-((last**3-n)/(3*last**2)) while abs(new-last)>0.000001:#精度要求 last=new new=last-((last**3-n)/(3*last**2)) print(format(new,'.1f'))
-
python 二分查找(立方根)
2020-12-02 21:34:21二分查找,以1/2的循环切割有效值域,在有效值域内部搜索需求对象,注意: 所搜索值必须在有效值域内,以下为例立方公式: x^3 = y立方根:1)x > 1时,x <= y,值域在 (x,y)内2)0< x <1时,x>y值域在...二分查找,以1/2的循环切割有效值域,在有效值域内部搜索需求对象,
注意: 所搜索值必须在有效值域内,以下为例
立方公式: x^3 = y
立方根:
1)x > 1时,x <= y,值域在 (x,y)内
2)0< x <1时,x>y值域在(0,1)内
故值域上界需手动修改,使用 max(abs(y),1) 确保有效值域
3)当y<0时,x<0时,只需将以上符号反转为 负(- ) 即可
"""
ans:立方根 y:搜索值 hight:值域上界 lower:值域下界 epsilion:精确度 num:步长
二分查找,搜索立方根,使用while循环实现查找域(ans,abs(y))
平方根位于 (-1,1)区间时,查找值域不在搜索上界 (ans,y)内,
故需要手动提高上界
"""
ans = 0.0
y = -8000990 #求取
num = 0 #记录步长
hight = max(abs(y),1) #比对y与1,确定上界
lower = ans
epsilion = 0.001 #精确度
while abs(ans**3 - abs(y)) > epsilion and ans <= max(abs(y),1):
if ans**3 > abs(y):
hight = ans
else:
lower = ans
print(ans)
ans = (hight + lower)/2
num += 1
if abs(ans**3 - abs(y)) > epsilion:
print('It not variables!')
if y < 0:
ans = -ans
print(num)
print(ans)
-
python之求解立方根
2022-06-18 00:22:01python求立方根# -*- coding: UTF-8 -*- # 求解立方根 # 题目描述 # 计算一个数字的立方根,不使用库函数。 # 保留一位小数 # # 输入描述: # 待求解参数,为double类型(一个实数) # 输出描述: # 输入参数的立方根。保留一位小数。 # 示例1 # 输入 # 216 # 输出 # 6.0 # 方案1 n = float(input()) x = 1 while abs(x ** 3 - n) > 1e-7: x = (2 * x / 3) + n / 3 / x / x print round(x, 1) #方案二 number = float(raw_input().strip()) t = 5 while abs(t * t * t - number) > 0.01: t = t - (t * t * t * 0.1 - number * 0.1) / (3.0 * t * t) print "%.1f" % t #方案三 n = float(input()) if n == 0: print(0) if n > 0: sig = 1 else: sig = -1 n = abs(n) if n > 1: start = 0 end = n else: start = n end = 1 mid = (start + end) / 2 while abs(mid ** 3 - n) > 0.001: if mid ** 3 > n: end = mid else: start = mid mid = (start + end) / 2 print(round(sig * mid, 1))
-
python求一个数字的立方根,保留一位小数
2020-12-20 09:44:16代码 num = float(input()) x = 1 while abs(x**3-num) > 1e-7: # abs计算绝对值;le-7等于0.0000001,用来保证计算的精度 x = (2*x/3)+num/3/x/x print(round(x, 1)) # 保留一位小数,四舍五入 ... -
求解立方根
2021-01-14 10:00:22设f(x)=x3-y, 求f(x)=0时的解x,即为y的立方根。根据牛顿迭代思想,xn+1=xn-f(xn)/f'(xn)即x=x-(x3-y)/(3*x2)=(2*x+y/x/x)/3;#include inline double abs(double x){return (x>0?x:-x);}double cubert(const ... -
Python下的大数求立方根
2021-04-07 19:01:05Python下的大数求立方根 问题来源 test = 64 ** (1./3) print test ---------------- output = 0.3.9999999999999996 产生这种现象的原因是(1/3)先运行得到0.3333333333333333,然后再运行 ** 指数运算 解决办法 ... -
python – 如何获得立方根的整数?
2020-12-02 21:34:23我有像125这样的数字,应该返回5的立方根,但Python返回4.99999例:>>> 125 ** (1.0/3.0)4.999999999999999这是我的代码:processing = Truen = 12000while processing:if (n ** (1.0/3.0)).is... -
python 二分法和牛顿法 求立方根
2020-03-23 00:48:35过点 做曲线 的切线,并求该切线与 轴交点的横坐标 ,称 为 的二次近似解。重复以上过程,得 的近似值序列,其中, 称为 的 次近似值,上式称为牛顿迭代公式。 用牛顿迭代法解非线性方程,是把非线性方程... -
计算Python3中极大数的立方根
2021-02-04 08:33:27您可以使用decimal模块进行精确运算。在>>> import decimal>>> decimal.getcontext().prec = 2000>>> d = decimal.Decimal('... -
利用二分查找求实数立方根(python)
2021-11-23 23:47:00二分查找的概念与条件 立方根求解 1.大于一 2.为负数 3.在0到1之间 附录:epsilon的精度问题 如何让代码更优美 -
【机试题(实现语言:python3)】求解立方根
2021-05-21 22:01:39计算一个数字的立方根,不使用库函数。 保留一位小数。 输入描述: 待求解参数,为double类型(一个实数) 输出描述: 输入参数的立方根。保留一位小数。 示例1 输入 216 输出 6.0 1、利用Scanner接收键入值。 2、... -
python环境下使用牛顿迭代法求任意实数立方根
2021-04-27 08:30:52https://images1.tqwba.com/20200918/xx0b50i53j4推导过程如下:一般牛顿迭代法的...具体代码如下:执行的结果是三、使用牛顿迭代法求立方根仿照上例,求一个实数的立方根比如X³=a,那么可以将该式子改为X³-a=0... -
Exercise 1.8 牛顿法求立方根
2020-11-21 03:36:21-------------------------------------------------------------------------------------------------------- 牛顿法求平方根、立方根,实际上拥有共同的概念元素: 1. 前一个逼近值(previous guess) 2. 当前逼近... -
用二分法求3的立方根的近似值(精确度为0.1)
2020-12-06 03:45:02展开全部二分法:1.4*1.4*1.4<31.5*1.5*1.5>3取[1.4,1.5](1.4+1.5)/2=1.451.45^3=3.048625>3取1.41.45=1.425=2.89...<3取1.4251.45=1.4375... -
python求平方根的三种方法
2020-11-24 22:45:55python求平方根的三种方法题干描述题目解答 题干描述 没啥好说的qwq,求根号下x,并舍弃小数部分,只保留整数 题目解答 方法一:不多bb,直接0.5次方(这应该是最没有营养的解法,面试官估计不会买账23333) x = int... -
Python在求-1的立方根出现的Bug
2020-11-29 17:34:52Python还有这BugBug要先看为敬(我用的3.8版本) Bug要先看为敬(我用的3.8版本) >>> (-1)**(1/3) (0.5000000000000001+0.8660254037844386j) >>> 1**(1/3) 1.0 >>> pow(-1,1/3) (0.... -
python求平方根的方法
2021-03-06 15:19:06python求平方根的方法发布时间:2020-08-13 14:52:09来源:亿速云阅读:87作者:小新这篇文章给大家分享的是有关python求平方根的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。... -
【蓝桥杯学习笔记】9. 解立方根——二分法+牛顿迭代法
2022-04-04 11:04:52哈曼夫树 【蓝桥杯学习笔记】8.itertools- 为高效循环而创建迭代器的函数 文章目录 系列文章目录 前言 一、二分法 二、牛顿迭代法 总结 前言 蓝桥本笔记-----从入门到放弃 本片文章使用Python语言编写----Now is ... -
Python,计算立方根。编写程序输出1-100内的所有合数之和的立方根。
2022-03-04 22:57:43计算立方根。编写程序输出1-100内的所有合数之和的立方根。参考流程如下: (a)编写函数判断一个数字是不是合数; (b)循环判断1-100的数字是不是合数,如果是合数就累加;... (d)求累加结果的平方根,保留3位小数。 -
【华为机试】求解立方根(牛顿迭代法)
2020-12-22 10:46:11先分享马同学的科普,深入浅出,很容易理解。... 题目描述•计算一个数字的立方根,不使用库函数详细描述:•接口说明原型:publicstaticdoublegetCubeRoot(doubleinput)输入:double待求解参数返回值:double输入参数... -
【华为OD机试Python实现】HJ107 求解立方根(中等)
2019-08-15 09:17:49计算一个浮点数的立方根,不使用库函数。 保留一位小数。 数据范围:∣val∣≤20 输入描述: 待求解参数,为double类型(一个实数) 输出描述: 输出参数的立方根。保留一位小数。 示例1 输入: 216 输出: 6.0 ... -
python--求平方根
2021-04-12 21:17:17python–求平方根 平方根,又叫二次方根,表示为〔√ ̄〕,如:数学语言为:√ ̄16=4。语言描述为:根号下16=4。 以下实例为通过用户输入一个数字,并计算这个数字的平方根: 1.正数 n = eval(input()) n = n**0.5 ... -
立方根求解(牛顿迭代法)
2020-11-21 03:36:18计算一个数字的立方根,不使用库函数详细描述:接口说明原型:public static double getCubeRoot(double input)输入:double 待求解参数返回值:double 输入参数的立方根输入描述:待求解参数 double类型输出描述:输入... -
如何实现浮点数立方根?
2021-04-28 22:31:45给一个浮点数num, 如何求其立方根ans?首先 0 < |ans| < num,对于浮点数区间的海量数据,若采用加法枚举判断,那绝对把CPU能累死。计算精度越高,时间复杂度越高。 上述方法,只是简单的加法性线性探测。 ...