КАТЕГОРИИ: Архитектура-(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) |
Вопрос №5
Функцию средствами пакета Scilab можно создать с помощью команды deff. Endfunction Тело функции Вопрос №4 Функции – это имеющие уникальные имена подпрограммы, выполняющие определенные преобразования над своими аргументами и при этом возвращающие результаты этих преобразований. Функции (макросы) в 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,…) Здесь y1, y2, … – список выходных аргументов, x1, x2, … – список входных аргументов, func – имя функции. Пример. Создадим в редакторе функцию с именем fun двух аргументов t и y, результатом которой будет трехмерный вектор, первый элемент которого равен t+y, второй элемент равен t-y, а третий элемент равен t*y. deff('[w]=fun(t,y)',[ Вызовем эту функцию: q=fun(5,7) q = 12. - 2. 35. Замечание: Сложные функции лучше создавать на языках Fortran или C, а затем линковать вместе с пакетом Scilab.
В математических выражениях часто встречается оператор: (двоеточие), имеющий следующий формат: Начальное_значение: Шаг: Конечное_значение Если Шаг не указан, то считается, что он равен 1. Примеры: -- > 1:3 ans = 1. 2. 3. -- > j=10:-2:2 j = 10. 8. 6. 4. 2. -- > x=1:.2:1.4, sin(x) x = 1. 1.2 1.4 ans = 0.8415470 0.9320391 0.9854497 Если в математическом выражении допущена ошибка или предписываемые вычисления некорректны, Scilab выводит в командное окно соответствующие сообщения. Для возвращения к ранее набранным строкам с целью их корректировки используют клавиши и ¯. По умолчанию Scilab представляет результат вычислений с 8 значащим цифрами. Для того, чтобы контролировать количество выводимых разрядов числа на печать, можно использовать команду printf с заданным форматом. Примеры: -->c=678.5556696777888899 // Будет напечатано 8 цифр c = 678.55567 -->printf(“%4.8f”,c) 678.55566968 Аналогичный результат дадут команды printf(“%1.8f”,c), printf(“%5.8f”,c) -->printf(“%4.1f”,c) 678.6 -->d=56.6789 -->printf(“%f”,d) // 6 знаков после запятой 56.678900
-->c=678.55566969;d=56.6789; -->printf('%4.3f %4.1f',c,d) 678.556 56.7 Для завершения работы с системой можно использовать команды Quit и Exit.
Дата добавления: 2015-03-29; Просмотров: 285; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |