Scilab

Материал из ALT Linux Wiki
Перейти к навигации Перейти к поиску
Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

Установка:

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.Инструменты>Увеличить область

Не выделяем/ не нажимаем!

Наводим на точки пересечения графиков и в строке состояния смотрим их координаты.