Я борюсь со своим кодом, который должен создавать линии тока векторного поля в полярных координатах. Я преобразовал компоненты (r, phi) в нормальные декартовы координаты (x, y). Компоненты по (r, phi) были распределены равномерно, то есть при r = 0:const:10, phi = 0:const:2*pi. Теперь я пытаюсь вычислить линии тока этого векторного поля, используя streamslice(x,y,wx,wy), но получаю сообщение об ошибке:
streamslice(x,y,Gradx,Grady)
Error using griddedInterpolant
Interpolation requires at least two sample points in each
dimension.
Error in interp1 (line 151)
F = griddedInterpolant(X,V,method);
Error in stream2 (line 62)
sxi=interp1(xx(:),1:szu(2),sx(k));
Error in streamslice>nicestreams (line 313)
vertsf = stream2(x,y, u,
v,xstart,ystart,streamoptions);
Error in streamslice (line 138)
[vertsout, avertsout] =
nicestreams(x,y,u,v,density,arrows);
Чтобы быть подробным, каждая матрица внутри функции оптимизации имеет размеры 201x73. Я также попытался вычислить немного другой слайс потока:
streamslice(x',y',Gradx',Grady')
который иногда работал для других людей (да, я провел свое «исследование»)… но выдает то же сообщение об ошибке. Я также прилагаю колчанный график этого векторного поля, если это может кому-то помочь. Если кто-то помог мне с этой проблемой, я был бы очень благодарен. Я понятия не имею. введите здесь описание изображения