В соответствии с примером в документации для «voronoin» первая точка v всегда будет [Inf, Inf]. Вот цитата:
Первая строка V - это бесконечная точка. Если какой-либо индекс в ячейке массив ячеек равен 1, то соответствующая ячейка Вороного содержит первую точку в V, бесконечную точку. Это означает, что ячейка Вороного является неограниченной.
Если вы хотите использовать «polyarea» на вершины V, не получая NaNs тогда мой наивный ответ отрубить первую строку V перед вводом его в «polyarea»:
sdata = [ 0.5 0
0 0.5
-0.5 -0.5
-0.2 -0.1
-0.1 0.1
0.1 -0.1
0.1 0.1 ]
[v , c] = voronoin(sdata);
for i = 1 : size(c ,1)
ind = c{i}';
tess_area(i,1) = polyarea(v(2:end,1), v(2:end,2))
end
Но если это не то, что вы подразумеваете под «нерабочим», то, возможно, вы можете подробнее рассказать о том, что вы ожидали увидеть?