Октавное деление участка биномиальных разрывов - PullRequest
0 голосов
/ 26 апреля 2019

Я не уверен, что это правильный обмен стека для этого вопроса. Я обычно использую JavaScript и Canvas для построения графика уравнения. Я пробую Октаву. У меня возникают проблемы с отображением любой функции с одинаковой переменной по обе стороны от деления. Тестовое уравнение:

x=0:1:512;
Vr=x/100;
clf;
plot((50*Vr.^2-200*Vr)/(Vr-3), 'k-', 'linewidth', 3.0);
axis([0 512 -256 256]);

Отлично работает без деления:

plot((50*Vr.^2-200*Vr), 'k-', 'linewidth', 3.0);

Скриншоты: https://imgur.com/a/nWkXstX Третье - это уравнение с делением, выполненным с помощью javascript.

Разве октава не поддерживает эту довольно простую арифметику или есть эксцентриситет синтаксиса, который я упускаю?

1 Ответ

1 голос
/ 26 апреля 2019

Как бы мне не хотелось быть парнем, который отвечает на его собственный вопрос, я нашел ответ в документах октавы.

https://octave.org/doc/v4.2.1/Arithmetic-Ops.html

'/' Умножает левое на обратноепо праву.Кажется правильным, так как противоположность (Vr / 3) звучит так, как я хотел, пока я не продолжу читать.«./» - «Поэлементное разделение прав».Таким образом, функция plot обрабатывает Vr как матрицу всех координат и вычисляет матрицу с одним уравнением.Это не было ясно ни в одной из прочитанных мной документов.Серьезно, это должно было быть в разделе справки верхнего уровня.

Так что это "эксцентричность синтаксиса".Правильный синтаксис для октавы:

plot((50*Vr.^2-200*Vr)./(Vr-3), 'k-', 'linewidth', 3.0)

Это работает.Я думаю, что я буду придерживаться JS, хотя бы, чтобы избежать необходимости преобразовывать мои уравнения в и из странного синтаксиса октавы.Тем не менее, приятно иметь под рукой опцию, не зависящую от браузера, но эксцентричную.

...