错误:不能添加新的字段时,结构已读取或仅在Simulink使用Matlab函数万博1manbetx

16次(最近30天)
Deniz
Deniz 2021年8月21日
大家好!
我有个问题,为什么
e = 7
b (e);
函数a = b (t)
cest.d = t;
cest.e = cest.d;
一个= cest.e;
结束
在Matlab中工作很好,但在Simulink中不行。万博1manbetx在Si万博1manbetxmulink中,我创建了一个值为7的常量块,此外,我创建了一个Matlab函数块,我在其中插入了这个代码
万博1manbetx仿真软件上一次
函数a = b (t)
cest.d = t;
cest.e = cest.d;
一个= cest.e;
结束
并将得到的值传递给Matlab工作空间。
理论上,这也应该在Simulink中工作。万博1manbetx但我总是得到错误消息,这个结构没有一个字段'e';当结构已被读取或使用时,不能添加新的字段。
Function' MATLAB Function'(#36.28.32),第3行,第1列:
“c”
启动诊断报告。
这样做的原因是什么?在最好的情况下,我如何处理这个错误?
(问题:我正在做一个项目,这个错误发生时,试图包括一个Matlab脚本,调用几个其他脚本,这种类型的分配发生和Simulink给出的错误,甚至在脚本,不直接包括在Simulink)。万博1manbetx
谢谢!

答案(1)

沃尔特·罗伯森
沃尔特·罗伯森 2021年8月21日
e = 7
b (e);
函数a = b (t)
c =结构(' d '0,“e”, 0);
cest.d = t;
cest.e = cest.d;
一个= cest.e;
结束
2的评论
沃尔特·罗伯森
沃尔特·罗伯森 2021年8月23日
解释MATLAB块
注意,这只能在加速度关闭时使用,或在可能的最低加速度。更高的加速步骤旨在在MATLAB运行时不再可用的环境中生成。
如果需要将加速与MATLAB函数结合在一起,则需要对MATLAB函数进行消毒。

登录评论。

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!