Я борюсь с моим кодом, который должен создавать линии тока векторного поля в полярных координатах. Я преобразовал (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')
, который иногда работал на других людей (да, я провел свое "исследование") ... но выдает то же сообщение об ошибке.
Я также прилагаю колчанный сюжет этого векторного поля, если оно может кому-то помочь. Если бы кто-то помог мне с этой проблемой, я был бы очень благодарен. На самом деле, я понятия не имею.
введите описание изображения здесь