c - 从 Matlab 执行 C 程序
问题描述
我需要通过 Matlab 执行一个 C 程序system()
,为此我正在使用该函数。但是,C 程序计算一个浮点数并将其作为字符串返回,我将其保存在 Matlab 变量中。然后我通过str2double()
函数将其转换为 double 但这并不总是有效。str2double()
即使我从 C 程序中得到正确的字符串,有时
也会返回 NaN。我附上了我在 Matlab 中编写的代码(v和a是先前计算的长度相同的向量):
for i=1:length(v)
fun = './compute_power';
arg1 = ' 0';
arg2 = num2str(v(i));
arg3 = num2str(a(i));
arg4 = ' 250';
execution_path = strcat(fun, arg1, {' '}, arg2, {' '}, arg3, arg4);
execution_path = char(execution_path);
[status, result] = system(execution_path);
power(i) = str2double(result);
end
我无法弄清楚这个错误,因为有时效果很好,有时效果不佳。是否有另一种方法可以在不使用 的情况下获得相同的结果str2double()
?
解决方案
推荐阅读
- python - TypeError: unhashable type: 'list' 添加交互功能时
- nestjs - 我如何才能将下一个与嵌套集成?
- python-3.x - 使用 scipy 插值模块创建 .exe 文件
- ios - 如何获得两次之间的时差
- python - python:动态创建函数
- delete-row - 无法删除 R 中的特定行
- javascript - 如何对通过在javascript中连接两个不同数组创建的数组进行排序
- python - 计算字段未保存在 django 管理模型的数据库中
- html - 下拉菜单适用于 Chrome 而不是 Firefox
- python - python中read.csv的问题