Tricontour не совместим с версией Matlab или октавной меткой - PullRequest
0 голосов
/ 31 января 2020

Мне нужно нарисовать и обозначить контуры данных, приведенных на сетке Делоне. Функция tricontour, часть явно не поддерживаемого сюжета pkg, не может этого сделать, потому что функция возвращает один аргумент (h):

pkg load plot
nx=ny=11;
[x,y]=ndgrid(linspace(-1,1,nx),linspace(-1,1,ny));
xp=[x(:),y(:)];
tp=[1,2,nx+1;nx+2,nx+1,2];
tp=kron(tp,ones(ny-1,1))+kron(ones(size(tp)),(0:ny-2)'*nx);
tp=kron(tp,ones(nx-1,1))+kron(ones(size(tp)),(0:nx-2)');
G=xp(:,1)+xp(:,2);
h=tricontour(tp,xp(:,1),xp(:,2),G,[-1:.5:1],'b');
[h]=clabel(c,h,[-4:2:6])

Это MWE завершается ошибкой с

error: 'c' undefined near line 10 column 12
error: called from
Testricontourlabel at line 10 column 4

Matlab-версия этой функции возвращает и c, и h, и поэтому совместима с Matlab-версией clabel.

Есть идеи для обхода?

...