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类型的 这个整整折磨了我两天的问题,终于解决了。
其实很简单,只要在调用Y=sim(net,P2);之前加上下面的语句:
net=network(net);
开始我也想过数据类型强制转换,net=(network)net; 当初不知道matlab的强制转换格式和Java不一样
得出的结论:
出现错误的时候,自己要多想想,多试试想出来的解决办法。
不要太依靠网络,自己动脑才是正路!!!!!
页:
[1]