我在八度音中使用contourf有问题 如果我在octave和matlab中测试以下代码,结果就完全没有了。 Matlab的结果很好。
A1=[38 44 51 58 65 72 79 86 93 100
38 44 51 58 65 72 79 86 93 100
38 44 51 58 65 72 79 86 93 100
38 44 51 58 65 72 79 86 93 100
38 44 51 58 65 72 79 86 93 100
38 44 51 58 65 72 79 86 93 100
38 44 51 58 65 72 79 86 93 100
38 44 51 58 65 72 79 86 93 100
38 44 51 58 65 72 79 86 93 100
38 44 51 58 65 72 79 86 93 100]
B1=[ 1 1 1 1 1 1 1 1 1 1
12 12 12 12 12 12 12 12 12 12
23 23 23 23 23 23 23 23 23 23
34 34 34 34 34 34 34 34 34 34
45 45 45 45 45 45 45 45 45 45
56 56 56 56 56 56 56 56 56 56
67 67 67 67 67 67 67 67 67 67
78 78 78 78 78 78 78 78 78 78
89 89 89 89 89 89 89 89 89 89
100 100 100 100 100 100 100 100 100 100]
C1=[NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
NaN 687 585 865 1045 1283 2465 2661 3042 NaN
NaN 356 390 426 473 519 574 627 1253 NaN
NaN 330 334 330 377 423 455 502 583 NaN
NaN 305 314 330 348 369 395 430 458 NaN
NaN NaN 299 306 323 345 366 389 420 NaN
NaN NaN 294 302 310 323 340 364 396 NaN
NaN NaN NaN 295 301 314 326 345 371 NaN
NaN NaN NaN NaN 297 306 318 334 351 NaN
NaN NaN NaN NaN NaN NaN NaN NaN 345 NaN]
[c,h]=contourf(A1,B1,C1,[200,300,400,500,600])
有人可以解释为什么八度音提供的结果与预期不同吗?
答案 0 :(得分:0)
这是known bug。 使用八度音程3.8.2得到的图像是
正如评论#2中所述,解决方法是将NaN
更改为-inf
,以便关闭轮廓。
确实,
C1(isnan(C1)) = -inf;
[c,h]=contourf(A1,B1,C1,[200,300,400,500,600])
情节看起来更好。