Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Математические выражения в Scilab

Математические выражения состоят из чисел, констант, переменных, операторов, функций и спецзнаков. Числа могут быть целыми, дробными, с фиксированной и плавающей точкой. Примеры: -3 2.453 123.12е-3. Последнее число – это 123.12*10-3, т.е. 0,12312. Для разделения целой и десятичной части числа используется точка. Числа могут быть вещественными и комплексными. Кроме того, в Scilab существуют так называемые системные переменные и символьные константы:

· %i – мнимая единица (% i =);

· %pi – число π=3,1415927;

· %e – число е=2,71828184;

· %eps – 2.22d-16;

· %inf – значение машинной бесконечности;

· ans – переменная, хранящая результат последней операции;

· %nan – указание на нечисловой характер данных (n ot-a-number).

Примеры:

-- > 1/0

! – error 27

division by zero

-- > 0/0

! – error 27

division by zero

Системные переменные нельзя переопределить, например, переменной %eps нельзя присвоить другое значение:

-- > % eps = 0.1

! – error 13

redefining permanent variable

 

Символьная константа – это цепочка символов, заключенная в апострофы, например, ‘Hello’.

В Scilab наглядность описания сложных выражений достигается с помощью текстовых комментариев, которые вводят с помощью символов //.

Переменная в Scilab может иметь имя, содержащее сколько угодно символов, но система запоминает и идентифицирует только первые 24 символа. Имя должно начинаться с буквы и может содержать буквы, цифры и символ подчеркивания _.

В памяти компьютера переменные занимают определенное место, называемое рабочим пространством (Workspace). Для очистки рабочего пространства используют функцию clear:

· clear – уничтожение определений всех переменных;

· clear x – уничтожение определения переменной x;

· clear a, b, c – уничтожение определений нескольких переменных.

Примеры:

-- > v=[1 2 3 4 5];

-- > clear v

-- > v

!- - error 4

undefined variable: v

 

Большинство операций в Scilab являются матричными операциями, а соответствующие им операторы относятся к матричным операторам. Например, с помощью операторов умножения * и деления / вычисляют произведение и частное от деления двух массивов (векторов или матриц). Есть ряд спецоператоров, например, оператор \ используют для деления справа налево, а операторы .* и ./ – для поэлементного умножения и деления массивов.

Примеры:

-- > v1=[2 4 6 8]; v2=[1, 4, 12, 24]; p=v1/v2, t=v1.*v2, r=v1./v2, h=v1.\v2

p =

0.3826323

t =

2 16 72 192

r =

2. 1. 0.5 0.3333333

h =

0.5 1. 2. 3.

Обратите внимание на результат операции:

-->x=[1 2 3 4 5 6];y=1/x

y =

0.0109890

0.0219780

0.0329670

0.0439560

0.0549451

0.0659341

В данном случае вычисляются не величины, обратные элементам вектора х, а каждый элемент вектора х делится на сумму квадратов всех элементов вектора. Результат же операции y=x^(-1) дает то, что надо:

-->x=[1 2 3 4 5 6];y=x^ (-1)

y =

1. 0.5 0.3333333 0.25 0.2 0.1666667

Функции – это имеющие уникальные имена подпрограммы, выполняющие определенные преобразования над своими аргументами и при этом возвращающие результаты этих преобразований.

Функции (макросы) в Scilab похожи на те, что встречаются в других языках программирования. Функции могут иметь аргумент, сами являться аргументом другой функции, быть членом списка, участвовать в операциях сравнения, вызываться рекурсивно. Функция начинается со слова function и заканчивается словом endfunction.

Первая строка функции может быть следующей:

function var=my_name(x1,...,xk),

где var - имя переменной, а xi - входные переменные.

 

Ниже приведен пример функции, вычисляющей сумму положительных элементов в массиве v.

function g=f (v)

s=0; n=length (v);

for i=1:n

if v (i)>0 then

s=s+v(i);

end

end

g=s;

endfunction

Для использования этой функции ее нужно сначала сохранить на диске в файле с именем f.sci, выполнить пункт меню Execute/Load into Scilab, а затем вызвать ее:

--> x=[1 2 5 -3 7 -9 12]; t=f(x)

t =

27

Если функция должна возвращать несколько значений, то ее надо определить в формате:

function[y1, y2, …] = func(x1,x2,…)

<== предыдущая лекция | следующая лекция ==>
Работа с Scilab в режиме диалога | Меню File
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 804; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.