mathematica程序返回基数正弦之和作为输出。向量的第一个元素是
-19.9959 Sinc[0.0418879 (0. + t)] Sinc[0.0897598 (-65. + u)]
变量保存在文本文件中;但是,这必须在pyomo中作为变量读取,因此使用StringReplace
使该变量适应python的grammar
savedXPython =
Import["savedWindX.txt"] //
StringReplace[#, {"[" -> "(", "]" -> ")",
"t" -> "m.lammda[i]*180/np.pi", "u" -> "m.phi[i]*180/np.pi"}] &
然后,savedXPython被保存到另一个文本文件中。但是,在使用pyomo时出现了一个错误I asked here答案是将结果保存在json文件而不是文本中
Export["savedWindXPython.txt", savedXPython];
Export["savedWindXPythonJ.json", savedXPython, "ExpressionJSON"];
现在,在pyomo部分,文本文件最初被读取为
g = open("savedWindXPython.txt","r")
b=f.readline()
g.close
稍后,在this thread之后,json被解读为
f = open("savedWindXPythonJ.json","r")
a=f.readline()
f.close
然后,pyomo代码中的变量被定义为
def Wind_lammda_definition(model, i):
return m.Wind_lammda[i] == a
m.Wind_lammda_const = Constraint(m.N, rule = Wind_lammda_definition)
对于json文件或 def Wind_lammda_定义(型号i): 返回m.Wind_lammda[i]==b m、 风荷载=约束(m.N,规则=风荷载定义
对于原始文本文件
但是,代码不起作用。AttributeError: 'str' object has no attribute 'is_relational'
,阻止我仅从文本文件读取变量的错误也出现在json案例中
使用json格式似乎没有什么帮助。有人能告诉我json实现是否做错了吗
从文件中读取行时,Pyhton将始终返回字符串。如果
1
是行中的唯一内容,则返回值将等于"1"
,而不是1
。这可以用a = float(a)
来解决,因为您希望在约束中使用数值。这将简单地将a
字符串转换为浮点相关问题 更多 >
编程相关推荐