python - 来自库编译器的 Python 包:Matlab 运行时错误:索引超出矩阵维度
问题描述
我在 Matlab 中有一个函数。我从中创建了一个 python 包以在我的 python 代码中使用。到目前为止,一切都很好。当我在 python 中调用该函数时,我收到了消息:
MatlabRuntimeError:评估函数结果时发生错误。详细信息:文件 C:\Users\Roberto\AppData\Local\Temp\Guilherme\mcrCache9.0.1\classi4\classificado\contagemWGS84.m,第 59 行,在 contagemWGS84 索引中超出了矩阵维度。
当我转到代码的第 59 行时:
plantas(1) = dados{1}(1); %line 59
plantas(1).Diameter = ...
2*sqrt((dados{1}(1).Area*res^2)/pi) + 2*step_erode(1)*res;
for i=1:length(dados)
...
...
...
其中 dados 是 8x1 结构,dados{1} 是 99x1 结构,dados{1}(1) 是 1x1 结构矩阵和数字字段。当我在matlab中直接运行完全相同的代码时,它运行没有问题。当我在 python 中运行时,我得到了这个错误。
我正在使用 python 2.7 和 Matlab R2016a。请帮忙。
解决方案
Python(和大多数 numpy)数组是零索引的,因此访问 1x1 矩阵的 memeber[1][1] 需要第二行的第二列。
推荐阅读
- docker - 为什么我的服务在 docker swarm 中启动后没有出现在网络上?
- flutter - 颤振类型'列表
' 不是类型转换中类型 'String' 的子类型 - javascript - 在 Mutation Observer 中设置变量会导致 Mozilla 崩溃
- loops - For循环函数
- html - 如何仅使用 HTML 和 CSS 使我的响应式导航栏具有粘性?
- java - Gson 库无法像解析大型 JSON 文件那样可靠地工作
- html - 为使用 jQuery 创建的复选框元素设置处理程序的最佳方法
- rust - Rust 是否有一些魔法来解释多个 & 符号?
- sql - 如何解决 PL/SQL:语句忽略错误?
- android - Hilt:通过 viewModels():RuntimeException:无法创建类 ProductsListViewModel 的实例