微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用随机采样的向量作为被积分中的输入变量之一来积分scipy.integrate.dblquad

如何解决使用随机采样的向量作为被积分中的输入变量之一来积分scipy.integrate.dblquad

我对使用scipy很陌生。我正在尝试整合两个变量函数f(x,y; {a,b,c}),其中在计算被积分数的解析形式时,将参数集列表作为{a,b,c}作为输入。输入值之一(例如c)是每对(x,y)值的随机采样数(来自0和2pi之间的均匀分布)。换句话说,如果我们从数字上考虑问题,那么如果积分近似为在各个点上求出的函数的和(例如(x1,y1),(x2,y2)....(xn,yn)),则我们也有一个随机采样的c-vector [c1,c2 ..... cn]对应于2D空间中的每个点(xi,yi)。积分可以是这些点上的积分f(xi,yi,a,b,ci)的总和乘以适当的面积元素。我可以按照我刚才所说的方式在数字上进行积分,但是速度很慢。 我想使用dblquad,但我不知道如何为该问题制定公式。下面给出了我的数值积分和在scipy.dblquad中实现的尝试代码。任何帮助将不胜感激。

fun getAddressLines() : List<String> {
    val jsonObject = Gson().fromJson(RESPONSE,JsonObject::class.java)
    val response = jsonObject.getAsJsonObject("response")
    val geoObjectCollection = response.getAsJsonObject("GeoObjectCollection")
    val featureMember = geoObjectCollection.getAsJsonArray("featureMember")
    return featureMember.map { jsonElement ->
        val memberChild = jsonElement.asJsonObject
        val geoObject = memberChild.getAsJsonObject("GeoObject")
        val MetaData = geoObject.getAsJsonObject("MetaDataProperty")
        val geocoder = MetaData.getAsJsonObject("GeocoderMetaData")
        val addressDetails = geocoder.getAsJsonObject("AddressDetails")
        val country = addressDetails.getAsJsonObject("Country")
        country.get("AddressLine").asstring
    }
}

两个实现(数字和dblquad)给出的结果几乎相同(如果增加N_pts,则协议会改善)但是我只能在c = [0,0,.. 0] 时实现dblquad 。可以对所有c都采用数字1,但是速度很慢。 所以有人可以告诉我如何修改dblquad代码(integrate_2D_dblquad)使其包含一个随机采样的c_list,例如integra_2D_numerical 。提前谢谢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。