Падіння напруги на кабелі

Стало цікаво, як спадає напруга на кабелі, коли навантаження не зібрано все в одній точці на кінці, а розподілено рівномірно. Скажімо, декілька десятків споживачів із приблизно однаковим споживанням на приблизно рівних відстанях. Спочатку напруга спадатиме швидше, бо підключено більше споживачів, потім, ближче до кінця кабелю, швидкість спадання зменшиться. Але якими будуть загальні втрати напруги?
От якщо на кінці кабелю із загальним опором R висить навантаження зі споживанням струму I, то напруга впаде на величину IR. А що буде при рівномірному підключенні?
Дивится формули і графіки » » »

Калькулятор

До речі, про octave.
Поступово ця програма стає моїм «настільним калькулятором». Все частіше використовую її для простих поточних обчислень замість графічного galculator. Купа зручностей: є історія набраних виразів, яка зберігається між запусками, можна додавати свої функції.

Ну от приклад:

Знадобилося погратися з паралельним з’єднанням трьох резисторів, скажімо, треба обчислити опір паралельно з’єднаних резисторів 10k, 4k7, 1k. Розрахунок через обернену суму провідностей з урахуванням векторної орієнтації octave виглядає так:

1 / sum(1 ./ [10,4.7,1])

Таким способом що два, що десять — набирати легко. Можна взяти з історії вираз, замінити/додати/прибрати резистор і отримати новий результат. Декілька разів скориставшись цим обчисленням я зрозумів, що пора додати у файл .octaverc домашнього каталогу таку функцію:

function res = par(rlist)
    res = 1 / sum( 1 ./ rlist);
end

Ця функція при старті octave автоматично додається до вбудованих і можна писати просто par([10,4.7,1]).

Порахувати більше, щоб порахувати швидше.

Це може звучати дивно, але для того, щоб зменшити час розрахунків, часто слід збільшити загальний обсяг цих розрахунків. Тут я маю на увазі не «написати/згенерувати більше коду», як, наприклад, при розгортанні циклів при оптимізації -O3 у gcc (саме обчислень при цьому може стати менше за рахунок операції з лічильником циклу). Йдеться про отримання більшої кількості результатів обчислень, ніж це потрібно.

Візьмемо для прикладу такий алгоритм: якщо вхідна величина не перевищує заданий поріг, то видати її значення на вихід без змін, інакше взяти напівсуму входу та порогу. Мовою C алгоритм запишеться так:

»»» Читати далі…

[flagcounter image]