Scilab
Установка:
apt-get install scilab
Общее[править]
Если не описывается очистка экрана, значений, начало и конец цикла, в конце строки всегда ставится точка с запятой.
Ввод[править]
x=input('Введите икс:');
Вывод[править]
Числа:
disp(a);
Текста:
mprintf('Решений нет.')
Текста и числа:
mprintf('Текст%f\n',a)
Пример: |
---|
Код: a=3; mprintf('А а равно2:%f\n',a) Вывод: А а равно2:3.000000 |
Цикл[править]
for k=1:3, <тело> end
Условный оператор[править]
if <усл> then <тело> end
Очистка экрана, значений[править]
Очистка переменных[править]
clear
Очистка экрана[править]
clc
Закрытие экранов графиков[править]
close
Математика[править]
Операции[править]
+ — Плюс & — Логическое И : — Двоеточие .\ — Поэлементное левое деление .* — Поэлементное умножение .^ — Поэлементная экспонента ./ — Поэлементное правое деление .' — Поэлементное транспонирование == — Логическое равно > — Больше, чем >= — Больше или равно \ — Левое деление < — Меньше, чем <= — Меньше или равно * — Умножение ~ — Отрицание ~= — Не равно | — Логическое ИЛИ ^ — Экспонента / — Правое деление - — Минус ' — Транспонирование
Числа[править]
%e - экспонента %pi - 𝜋
Переменная[править]
a=3; b=0.2; c=0.563;
Матрица[править]
Простая с тремя элементами в строчку:
a=[1 2 4]
Простая с двумя элементами в столбец:
b=[-7;2];
Трехстрочная:
b=[1,2,3; 4,5,6; 7,8,9];
От -2 до 5:
c=[-2:5]
Использование элемента[править]
Первая строка, второй столбец матрицы a:
a(1,2)
Сумма матрицы[править]
sum_a=sum(a);
Операции над матрицами[править]
Так же над матрицами можно выполнять математические операции.
Поворот вправо/влево[править]
A(:,$:-1:1)
Поворот вверх/вниз[править]
A($:-1:1,:)
Обратная матрица[править]
inv(A)
Длина матрицы[править]
m=length(a)
Min значение[править]
min=min(a);
Max значение[править]
max=max(a);
Тригонометрия[править]
sin[править]
sin(a)
cos[править]
cos(a)
tg[править]
tan(a)
ctg[править]
cotg(a)
arcsin[править]
asin(a)
arccos[править]
acos(a)
arctg[править]
atan(a)
arcctg[править]
acot(a)
Остаток[править]
Остаток деления первого значения на второе.
pmodulo(a,b)
Разложение на простые числа[править]
factor(a)
Степень[править]
a в степени n:
a^n
Корень квадратный[править]
sqrt(x)
Корень[править]
nthroot(x,n)
Абсолютная величина[править]
abs(x)
Описание функции[править]
function name(a) <тело> endfunction
Вывод графика[править]
plot(x,y), xgrid
Случайное число[править]
Генерируется матрица с размером указанным в скобках и из него берется случайное число.
r = rand(5,2)
Факториал[править]
f = factorial (n)
Логарифм[править]
Натуральный[править]
y=log(x)
Десятичный[править]
y=log10(x)
Конвертирование чисел[править]
Можно подставлять как числа, так и матрицы.
- из двоичной в десятичную:
y=bin2dec(str)
- из десятичной в двоичную:
y=dec2bin(x)
- из десятичной в шестнадцатеричную:
h=dec2hex(d)
- из десятичной в восьмеричную:
o=dec2oct(d)
- из шестнадцатеричной в десятичную:
d=hex2dec(h)
- из восьмеричной в десятичную:
d=oct2dec(o)
Строки[править]
Обработка строк[править]
ASCII в код:
code2A=ascii(str1)
Примеры программ[править]
Построить график линейной функции[править]
y=x+2 x∈[-2:5]
source code: |
---|
clear, clc, close x=[-2:5]; y=x+2; plot(x,y), xgrid |
Построить график параболы[править]
y=(x-2)^2 x∈[-2:5]
source code: |
---|
clear, clc, close x=[-2:6]; y=(x-2)^2; plot(x,y), xgrid |
Решение квадратного уравнения[править]
source code: |
---|
clear, clc a=input('a='); b=input('b='); c=input('c='); d=b^2-4*a*c; if d>0 then x1=(-b+sqrt(d))/2/a; x2=(-b-sqrt(d))/2/a; mprintf('x1=%f\n',x1,'\n'); mprintf('x2=%f\n',x2); else if d==0 x1=(-b+sqrt(d))/2/a; mprintf('x=%f\n',x1); else mprintf('Решений нет.'); end end |
Проверка:
- Два решения:
- a=1, b=2, c=-3
- Одно решение:
- a=1, b=2, c=1
- Нет решений:
- a=1, b=1, c=1
Графическое решение квадратного уравнения[править]
source code: |
---|
clc, clear, close; deff('y2=fn(x) ','y2=(x-2)^2-7') //описывается функция и формула x=linspace(-3,7,100); x0 = [-3;3] xk = fsolve(x0,fn) //решение функции plot(x,fn(x),xk,fn(xk),'o') //построение графика |
Точки пересечения графиков[править]
1.Строим графики
source code: |
---|
x=[-2:5]; y=x+2; plot(x,y), xgrid x2=[-2:5]; y2=(x-2)^2; plot(x2,y2), xgrid |
2.Инструменты>Увеличить область
Не выделяем/ не нажимаем!
Наводим на точки пересечения графиков и в строке состояния смотрим их координаты.