2.1: Цифри
- Page ID
- 67086
Рішення наукових обчислювальних проблем зрештою зводиться до маніпулювання даними, а найголовніше - це рядки та числа. Почнемо з розуміння цих типів даних і того, як зберігати в них значення.
Ми також показуємо деякі синтаксис julia, який виглядає як інші мови (наприклад, python). Сподіваємось, у вас є деякі базові знання з обчислень, але жодне припущення про якусь конкретну мову не потрібно.
Цифри
Не дивно, що найважливіший тип даних у наукових обчисленнях - принаймні на самому атомному рівні - це числа. Числа в обчисленні імітують математику з деякими важливими відмінностями. Джулія, як і більшість обчислювальних мов, мають два основних типи чисел, цілі числа і з плаваючою комою. Цілі числа Юлії і багато, як математичні цілі числа в тому, що вони зберігають числа, як\(0, 10, -400\). Числа з плаваючою комою, як правило, є наближеннями до дійсних або десяткових чисел, і докладніше буде розглянуто в розділі??.
Джулія також має раціональний тип даних для чисел, як правило, хоча як дроби, як\(-\frac{2}{3}\) або\(\frac{22}{7}\). Нагадаємо, що зазвичай\(i\) являє собою\(\sqrt{-1}\) базове уявне число. Складні числа\(2+3i\), як, також є рідними для Джулії. Ми вивчимо як раціональні, так і комплексні числа більш глибоко в розділі??.
Виписки присвоєння та змінні
Все, що завгодно може бути збережено як змінна, використовуючи єдиний знак рівності, як
Це оператор присвоювання, який створює число 6 і зберігає його під ім'ям x
.
І тепер, коли змінна зберігається, ми можемо використовувати її в розрахунках. Наприклад
Змінні в julia, як і інші мови, в першу чергу послідовності буквено-цифрових символів, а також підкреслення. Перш за все, змінна повинна починатися з алфавітного символу або після першого символу може містити цифри.
Юлія також дозволяє багато символів Unicode в іменах змінних, однак не все. Наприклад, всі грецькі літери дозволені, тому\(\alpha=45\) є дійсним.
Щоб отримати грецьку букву в Jupyter або REPL, введіть\ alpha
, натисніть клавішу TAB, і вона буде перетворена на\(\alpha\).
Зберігання змінних у віртуальній дошці
Деталі зберігання змінних у комп'ютерному обладнанні не потрібні, однак мислення про зберігання як запис змінних та значень на дошці є корисною парадигмою. Уявіть собі дошку зі стовпцем імен змінних і стовпцем значень. Наприклад, якщо у нас є
тоді ви можете подумати про дошку, яка виглядає так:
змінна | значення |
х | 6 |
у | -1 |
z | 8.5 |
Якщо ми оцінюємо будь-який вираз, що містить будь-яку з цих змінних, то значення шукали підставили в вираз. Наприклад,
шукає значення y (що дорівнює -1) і підставляє це значення в і множить результат на 2. Як бачите результат -2.
Якщо ми змінимо одне з значень, як
це означає, що права сторона оцінюється шляхом пошуку значення y
, а результат дорівнює 4. Потім 4 поміщається в дошку, яка тепер буде виглядати так:
змінна | значення |
х | 6 |
у | 4 |
z | 8.5 |
Якщо ви думаєте про те, як працює шматок коду, часто вам потрібно буде дістатися до точки запису версії дошки.
Струни
У багатьох галузях наукових обчислень, таких як наука про дані, рядки виникають часто, і важливо зрозуміти деякі основи їх. У Julia рядок - це послідовність символів, оточена «»
(подвійні лапки). Наприклад:
і якщо ви введете
який показує, що це рядок
. Розділ 1.2 буде докладніше про типи даних в Julia. Окремі частини рядка називаються символами, які мають тип Char
і за замовчуванням є символами Unicode (які, як ми побачимо, є надзвичайно корисними). Кілька інших корисних речей про рядки
-
Довжину рядка можна знайти за допомогою команди length.
довжина (str)
повертає 16. -
Щоб отримати доступ до першого елементу рядка, введіть
first (str)
,останній знайдений за допомогою last (str)
, а 3-й символ, наприклад,str [3].
У julia індексація рядків починається з 1 -
Щоб перетворити інші типи даних у рядок, використовуйте функцію
string
. Наприклад
і знову зверніть увагу, що подвійні лапки вказують на те, що це рядок.
Рядкові операції
Звичайною строковою операцією є конкатенація, або об'єднання двох рядків. Розглянемо
Ми можемо об'єднати двома способами, за допомогою символу оператора *
або строкової
функції. Обидва
повертає ту саму конкатенацію рядків. Я вважаю, що другий варіант зрозумілішим тим, що *
є непарним вибором для конкатенації рядків. Багато мов, включаючи java та ecmascript (javascript), використовують +
замість об'єднання рядків, що, на мою думку, інтуїтивно має більше сенсу.
Ще одна мила операція для струн - операція каретки. Це може бути корисним, однак не дуже корисним прикладом є
конкатенацію рядка тричі. Інші важливі функції, пов'язані з рядками, можна знайти в JULIA ДОКУМЕНТАЦІЯ НА РЯДКИ
Інтерполяція рядків
Змішування рядків та інших змінних часто потрібно, і ми можемо використовувати методи конкатенації, як зазначено вище. Однак є і кращий спосіб. Давайте використаємо значення х
, яке ми зберегли вище, і вставимо його в кінці «Значення х є"
. Це зробить наступне
Існує насправді інший спосіб зробити конкатенацію рядків, якщо ви використовуєте цей метод. Використовуючи змінні, збережені в str1
і str2
, потім
також об'єднає рядки.
Ми також можемо вийти за рамки просто шукаючи рядки в тому, що ми можемо виконати код, а також. Припустимо, що у нас є змінна
Якщо ми хочемо рядок з його квадратом, ми можемо ввести:
де ви повинні помітити, що код n^2
виконується, оскільки цей код знаходиться в межах $ ().
Вправа
Використовуйте об'єм сфери\(\frac{4}{3}\pi r^3\), щоб обчислити об'єм і зробити струну. Наприклад, збережіть r=3, а потім поверніть результат
«Обсяг сфери радіусом 3 становить 113.0973355292»
де 3 і том генерується з інтерполяцією рядків.
Вирази
Вираз - це комбінація змінних, елементів даних (таких як числа та рядки), операцій (наприклад + або *) та функцій (наприклад). Ми бачили ряд виразів протягом цієї глави до цих пір, як
Коротше кажучи, написання речей в julia буде складатися з написання виразів (і трохи більш складних структур).
Пріоритет оператора
Коли ми набираємо вираз типу 11+2* (4+3) ^3
, важливо розуміти порядок, в якому виконуються оператори. Для математики пнемоніка PEMDAS корисно пам'ятати, що порядок:
-
Дужки: Вираз всередині () виконується першим. Для наведеного вище прикладу
4+3
є першою виконаною операцією. -
Експоненціальні числа: ^ робиться далі. Підніміть 7 зверху на силу 3 в результаті вийде
343
. -
Множення та ділення: У цьому прикладі
2* (343)
робиться наступним -
Додавання та віднімання: Нарешті додайте 11 до результату, і результат -
697
.
У будь-якій обчислювальній мові, є й інші оператори, і є порядок, що пріоритет, тому ми побачимо, що є й інші речі, про які слід подумати. Наприклад, оператор присвоєння, має найнижчий пріоритет. Тобто при присвоєнні чогось змінної всі розрахунки робляться з правого боку від = перед присвоєнням.
Подробиці про все це можна дізнатися на JULIA ДОКУМЕНТАЦІЯ НА ПРІОРИТЕТ ОПЕРАТОРА
Коментарі
Коментар в комп'ютерному коді - це послідовності символів, які ігноруються. Мета коментаря - попередити людину про те, що відбувається. Можливо, вам сказали писати коментарі, щоб хтось інший, хто читає ваш код, розумів, що ви робите. Однак я виявив, що людина в основному любить читати ваш код, це ви пізніше. Ви повинні додати коментарі для себе.
У Джулії коментар - це що-небудь праворуч від знака фунта або хеш-тега. Наприклад:
Обидва рядки 1 і 3 мають коментарі. У рядку 1 весь рядок ігнорується, оскільки рядок починається з #
. На рядку 3 все після 2 (харчування) ігнорується. Крім того, зверніть увагу, що є два хеш-теги на рядку 1 і 1 на рядку 3. Це просто інший стиль. Оскільки все після синглу є коментарем, все після першого ігнорується.