Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Endfunction




Тело функции

Здесь y1, y2, … – список выходных аргументов, x1, x2, … – список входных аргументов, func – имя функции.

Функцию средствами пакета Scilab можно создать так:

С помощью команды deff.

Пример. Создадим в редакторе функцию с именем fun двух аргументов t и y, результатом которой будет трехмерный вектор, первый элемент которого равен t+y, второй элемент равен t-y, а третий элемент равен t*y. deff('[w]=fun(t,y)',[
'w(1)=t+y;';
'w(2)= t-y;'; 'w(3)= t*y;']) //Вызовем эту функцию q=fun(5,7)

Сохраним эту функцию на диске С в каталоге Documents and Settings\user под именем hhh и запустим на выполнение:

-->exec('C:\Documents and Settings\user\hhh');disp('exec done');

q =

12.

- 2.

35.

exec done

Пример. Создадим функцию, вычисляющую координаты сферы радиуса r и построим ее.

x=(0:0.5:10);

y=(0:0.5:10);

r=10;
//уравнение для сферы x^2+y^2+z^2=r^2 Вычислим //z=sqrt(r^2-x^2-y^2);

deff('[z]=surf(x,y)','z=sqrt(r^2-x^2-y^2)'); fplot3d1(x,y,surf);

Замечание: Сложные функции лучше создавать на языках 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.




Поделиться с друзьями:


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


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



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




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