bpnetTest cellRow = 24 cellCol = 54 class = 0.2470 0.9047 0.1308 0.5859 下标索引必须为正整数类型或逻辑类型。 出错 bpnetTest (line 27) subplot(122),imshow([(name1(class)),'.png']),title(['该字母被识别为:']);
时间: 2024-02-06 16:04:07 浏览: 25
这个错误是因为在使用数组索引时使用了一个浮点数,而数组的索引必须是整数或逻辑类型。具体来说,class是一个包含了4个浮点数的向量,它是神经网络的输出结果。在这里,应该将class转化为一个整数表示识别结果的下标,然后再使用它来获取对应的字母名称。可以使用MATLAB中的函数`find`来找到class中最大值所在的位置,即为识别结果的下标。例如,可以将下面这行代码:
```
class = bpnet(B');
```
改为:
```
[~,class] = max(bpnet(B'));
```
这样就可以得到正确的结果了。
相关问题
class test: data=0 x=test() x.data=200print(x.data, test.data, x.class.data)
代码存在错误,应该是x.__class__.data而不是x.class.data。正确代码如下:
```
class test:
data=0
x=test()
x.data=200
print(x.data, test.data, x.__class__.data)
```
输出结果为:
```
200 0 0
```
使用java.lang.Math类生成10个0-99之间的随机整数
好的,我可以回答这个问题。您可以使用以下代码生成10个-99之间的随机整数:
import java.util.Random;
public class RandomNumbers {
public static void main(String[] args) {
Random rand = new Random();
for (int i = ; i < 10; i++) {
int num = rand.nextInt(100);
System.out.println(num);
}
}
}
这个程序使用了Java中的Random类来生成随机数。在循环中,我们调用nextInt(100)方法来生成-99之间的随机整数,并将其打印到控制台上。