这是我的公式:
import math
import pandas as pd
import numpy as np
ha = 8.14
k = 0.0187
Do = 0.1738
Di = 0.0138
L = 3
F = 20
Ta = 293
Ts = 113
pi = 3.14159265
Q = (pi*(Ta-Ts))/(((1/ha*Do))+(1/(2*k))*math.log(Do/Di)) * L
h = (Q*3600)/F
基本上,我想要F=np.arange(20100,10)时的输出
这可能吗
我试过了
a = np.arange(20,100,10)
F = 20 + i
for i in range(a):
print h
不知道为什么这样不行
有什么想法吗
使用
numpy
时,应该尽量不要使用显式循环,因为numpy
的主要优点是以编译语言的速度隐式执行循环说到我们的问题,很简单
在这里,我将数组
F
作为一个普通的Python变量来使用,并由numpy
magics来识别循环的需要记住:您可以在表达式中使用
numpy
的数组,就像使用标量一样,as far as your usage is a sensible one,Python将计算数组结果旁注使用
np.pi
而不是3.14159...
您需要定义一个接受参数的函数。然后可以基于一组参数调用该函数。下面我向您展示一个带有
sin(x)
函数的示例,因为我确信您可以找出hwo来适应您的需要这将使用各种参数
b
调用sin
函数,并在不同的点x
计算它你这样做应该总是打印出完全相同的数字。因为你已经计算过了。任何地方都没有函数,把它放在
for
循环中不会自动改变任何东西除非是我不知道的翻译中的熊猫魔术(如果是那样的话,对不起,我不是大熊猫的使用者)
当前您的代码正在给
Q
和h
一个特定的值,并且不再更改该值说明:
在下面的代码中
您的意思是:名称Q表示值4,名称W表示Q的当前值(即4,不管Q以后是否改变)
如果键入
Q = 10
,W将不会更改:因此,每次调用函数时都需要计算这些函数:
上面的解释有点过于简单化了,所以您可能需要检查这个link
相关问题 更多 >
编程相关推荐