查看: 299|回复: 2|关注: 0

[未答复] "Attempt to extract field 'layers' from 'mxArray'"

[复制链接]

新手

5 麦片

财富积分


050


1

主题

3

帖子

0

最佳答案
发表于 2018-10-11 19:58:01 | 显示全部楼层 |阅读模式
本帖最后由 oakoak 于 2018-10-11 21:13 编辑

在用simulink调用function 的神经网络进行在线训练的时候采用是的coder.extrinsic(net)语句,但是如果要修改网络中的某个参数例如 net.layers{1}.transferFcn = 'tansig';
会出现这个报错Attempt to extract field 'layers' from 'mxArray'.,请问大家有这样用过吗?加入什么语句可以解决这个问题?谢谢

还有一个错误提示:
Simulink cannot determine sizes and/or types of the outputs for block 'MATLAB Function1' due to errors in the block body, or limitations of the underlying analysis. The errors might be inaccurate. Fix the indicated errors, or explicitly specify sizes and/or types for all block outputs.
应该是指明输出类型。

新手

5 麦片

财富积分


050


1

主题

3

帖子

0

最佳答案
 楼主| 发表于 2018-10-11 20:38:22 | 显示全部楼层
在matlab中有这样一种解释:
To convert an mxArray to a known type, assign the mxArray to a variable whose type is defined. At run time, the mxArray is converted to the type of the variable assigned to it. However, if the data in the mxArray is not consistent with the type of the variable, you get a run-time error.
对于数据可以这样操作,那类似net结构体呢?

新手

5 麦片

财富积分


050


1

主题

3

帖子

0

最佳答案
 楼主| 发表于 2018-10-12 11:04:31 | 显示全部楼层
在help 帮助文件中的描述
Working with mxArrays
The output of an extrinsic function is an mxArray — also called a MATLAB array. The only valid operations for mxArrays are:

1)Storing mxArrays in variables
2)Passing mxArrays to functions and returning them from functions
3)Converting mxArrays to known types at run time
我预先定义了,还是不行!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表