freevickie 发表于 2009-8-21 15:23

java调用MATLAB的load加载时,network类型自动转换成struct类型,为什么???

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

MATLAB中输出的结果:
A =

   net:
    lmax:
    lmin:


B =

    'net'
    'lmax'
    'lmin'

Eclipse中输出结果:
A =

   net:
    lmax:
    lmin:


B =

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

再调用sim(net, test)就不行了,因为net是struct类型的

freevickie 发表于 2009-8-24 17:04

这个整整折磨了我两天的问题,终于解决了。
其实很简单,只要在调用Y=sim(net,P2);之前加上下面的语句:
net=network(net);

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

得出的结论:
出现错误的时候,自己要多想想,多试试想出来的解决办法。
不要太依靠网络,自己动脑才是正路!!!!!
页: [1]
查看完整版本: java调用MATLAB的load加载时,network类型自动转换成struct类型,为什么???