假设我有一个四次方程的形式:
a0x^4+a1x^3+a2x^2+a3x+a4=0
我知道我可以使用numpy
根方法来求解四次方程,但我希望系数根据规则变化,比如说它们依赖于参数x
,它取值1,2,…,10
例如,我们有系数
a0=1, a1=3q^2, a2=4q, a3=sqrt(q), a4=q
在8列中,求出q值的四个实部和四个虚部的解,随着q的变化,从1到10
例如,对于x=1
import numpy as np
q=1
a0=1
a1=3*q^2
a2=4*q
a3=np.sqrt(q)
a4=q
coeff=[a0, a1, a2, a3, a4]
np.roots(coeff)
产出将是:
array([-0.39002422+1.84237253j, -0.39002422-1.84237253j,
-0.10997578+0.51949688j, -0.10997578-0.51949688j])
是否有可能将所有q范围的解转换成.csv
格式,分9列,第一列表示q值,第二列表示实部和虚部
基本上,我们的想法是创建一个新数组并将其导出。我可以想出几种方法来实现这一点,下面是我实现的一种方法。 选择此方法是因为它不需要额外的导入,而且它使用an answer that was linked in a comment to the question
其他方法是创建一个常规的
array
而不是一个np.ndarray
并导入csv
写入文件,或者使用“+”和“-”作为分隔符并将其写入新数组或直接写入csv。 如果您需要不同的输出格式,我建议查看numpy.ndarray.tofile
中提供的格式选项相关问题 更多 >
编程相关推荐