求N³(n的三次方)的另类算法

计算一个数的三次方,竟然还可以这么算,但是不知道怎么推导的。不过看到这个还是觉得特别有意思。

#include<cstdio>
int main(){
   
   
	
	int x=876524;
	int c = 0, d = 1, e = 6;
	<
Scipy 提供了强大的数值计算功能,对于解一元 n 次方程也有相应的方法。 ### 使用 `scipy.optimize.fsolve` 或者 `numpy.roots` #### 1. 使用 `fsolve` 虽然 `fsolve` 主要用于非线性方程组的解,但它也可以处理单变量项式方程。你需要将待解的一元高次方程式设置为一个函数形式,并给定初始猜测值。 ```python from scipy.optimize import fsolve # 定义需要根的一元n次方程,例如x^4 + x - 3 = 0 def func(x): return [x**4 + x - 3] result = fsolve(func,[1]) # 这里提供了一个起始搜索点[1] print("Root found at:", result) ``` 不过需要注意的是,因为这是一个基于迭代法的近似算法,所以可能无法保证找到所有实数范围内的零点;而且对某些特殊类型的方程收敛速度较慢或难以收敛到正确的解上。 #### 2. 直接利用 `numpy.roots()` 如果已知系数,则可以直接采用更方便的方式 —— 调用 NumPy 库下的 roots 函数获取所有的复数根: 假设我们有一个形如 ax^n+bx^(n−1)+…+c=0 的一元n次代数方程, 只需要输入该项式的各个项前边对应的系数组成列表传递进去即可得到结果: ```python import numpy as np coefficients=[1,-5,+10,-10,5] # 对应于 x^4 − 5*x&sup3; + 10*x² − 10*x + 5 = 0 方程各项的系数从最高幂开始顺序排列 solution=np.roots(coefficients) for root in solution: print(root) ``` 这会返回包含每个根的对象(可能是复数),可以进一步检查哪些是纯虚部等于零的实际解. 这两种方法各有优劣,在实际应用过程中可以根据具体情况选择合适的一种来解决问题.
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值