使用 pyfmi 创建 2 元组作为 fmu 模型的 model.simulate() 的输入时出错

error while creating a 2-tuple as input for model.simulate() of fmu model with pyfmi(使用 pyfmi 创建 2 元组作为 fmu 模型的 model.simulate() 的输入时出错)
本文介绍了使用 pyfmi 创建 2 元组作为 fmu 模型的 model.simulate() 的输入时出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在 gt-suite 中创建了一个 fmu.我正在尝试使用 python PyFMI 包在 python 中使用它.我的代码

I have a fmu created in gt-suite. I am trying to work with it in python using python PyFMI package. My code

from pyfmi import load_fmu
import numpy as np

model = load_fmu('AHUPIv2b.fmu')

t = np.linspace(0.,100.,100) 
u = np.linspace(3.5,4.5,100)
v = np.linspace(900,1000,100)
u_traj = np.transpose(np.vstack((t,u)))
v_traj = np.transpose(np.vstack((t,v)))

input_object = (('InputVarI','InputVarP'),(u_traj,v_traj))
res = model.simulate(final_time=500, input=input_object, options={'ncp':500})

res = model.simulate(final_time=10)

model.simulate 将输入作为其参数之一,文档说

model.simulate takes input as one of its parameters, Documentation says

input --
        Input signal for the simulation. The input should be a 2-tuple
        consisting of first the names of the input variable(s) and then
        the data matrix.

'InputVarI','InputVarP'是输入变量,u_traj,v_traj是数据矩阵.

'InputVarI','InputVarP' are the input variables and u_traj,v_traj are data matrices.

我的代码出错了给出一个错误 -

My code gives an error gives an error -

TypeError: tuple indices must be integers or slices, not tuple

input_object 是不是创建错了?有人可以帮助如何根据文档正确创建输入元组吗?

Is the input_object created wrong? Can someone help with how to create the input tuples correctly as per the documentation?

推荐答案

输入对象创建不正确.输入元组中的第二个变量应该是单个数据矩阵,而不是两个数据矩阵.

The input object is created incorrect. The second variable in the input tuple should be a single data matrix, not two data matrices.

正确的输入应该是:

data = np.transpose(np.vstack((t,u,v)))
input_object = (['InputVarI','InputVarP'],data)

另请参阅pyFMI 参数更改不会更改模拟输出

这篇关于使用 pyfmi 创建 2 元组作为 fmu 模型的 model.simulate() 的输入时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Leetcode 234: Palindrome LinkedList(Leetcode 234:回文链接列表)
How do I read an Excel file directly from Dropbox#39;s API using pandas.read_excel()?(如何使用PANDAS.READ_EXCEL()直接从Dropbox的API读取Excel文件?)
subprocess.Popen tries to write to nonexistent pipe(子进程。打开尝试写入不存在的管道)
I want to realize Popen-code from Windows to Linux:(我想实现从Windows到Linux的POpen-code:)
Reading stdout from a subprocess in real time(实时读取子进程中的标准输出)
How to call type safely on a random file in Python?(如何在Python中安全地调用随机文件上的类型?)