matlab怎样获得一个n1数组,如何在Simulink中索引MATLABFunction中的数组值?

本文介绍了在Simulink的MATLABFunction中如何处理由Python脚本返回的字符串并将其转换为数组。作者遇到的问题是在尝试通过dataStringArray(3)获取特定值时遇到错误。解决方案包括将整个代码作为普通函数处理,或者利用strfind函数确定字符串位置并进行拆分。示例代码展示了这两种解决方法。
摘要由CSDN通过智能技术生成

我在simulink中使用matlab函数调用python脚本,该脚本根据输入值进行一些计算。python脚本给我一个返回到matlab函数的字符串,我将其拆分为一个数组。拆分后的字符串必须是一个包含6个可变字符串的单元格数组:dataStringArray = '[[-5.01 0.09785429][-8.01 0.01284927]...' '10.0' '20.0' '80.0' '80.0' '50.0'

要使用特定的m文件调用strsplit之类的函数或python脚本本身,我使用coder.extrinsic('*')方法。在

现在我想索引到一个特定的值,例如用dataStringArray(3)来获得'20.0',并将其定义为matlab函数的输出值,但这行不通!我试图用dataStringArray = cell(1,6);预定义dataStringArray,但总是得到相同的4个错误:

^{pr2}$

我怎么了?在

示例代码

输出定义后面的注释代码就是我需要的。:function [dataArrayOutput, constOut1, constOut2, constOut3, constOut4, constOut5] = fcn(dataArrayInput, constIn1, constIn2, constIn3, constIn4, constIn5)

coder.extrinsic('strsplit');

% Python-Script String Output

pythonScriptOutputString = '[[-5.01 0.088068861

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值