声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1175|回复: 1

[混合编程] java调用MATLAB的load加载时,network类型自动转换成struct类型,为什么???

[复制链接]
发表于 2009-8-21 15:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
A=load(‘bptrain.mat’)
B = fieldnames(A)
net=A.(B{1})
lmax=A.(B{2})
lmin=A.(B{3})

MATLAB中输出的结果:
A =

     net: [1x1 network]
    lmax: [2x1 double]
    lmin: [2x1 double]


B =

    'net'
    'lmax'
    'lmin'

Eclipse中输出结果:
A =

     net: [1x1 struct]
    lmax: [2x1 double]
    lmin: [2x1 double]


B =

    'net'
    'lmax'
    'lmin'
问题:在matlab环境当中,net是network类型的,为什么用java调用的时候就不识别了,自动转换成struct类型的???????

再调用sim(net, test)就不行了,因为net是struct类型的
回复
分享到:

使用道具 举报

 楼主| 发表于 2009-8-24 17:04 | 显示全部楼层
这个整整折磨了我两天的问题,终于解决了。
其实很简单,只要在调用Y=sim(net,P2);之前加上下面的语句:
net=network(net);

开始我也想过数据类型强制转换,net=(network)net; 当初不知道matlab的强制转换格式和Java不一样

得出的结论:
出现错误的时候,自己要多想想,多试试想出来的解决办法。
不要太依靠网络,自己动脑才是正路!!!!!

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-14 02:09 , Processed in 0.056572 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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