ВІКІСТОРІНКА
Навигация:
Інформатика
Історія
Автоматизація
Адміністрування
Антропологія
Архітектура
Біологія
Будівництво
Бухгалтерія
Військова наука
Виробництво
Географія
Геологія
Господарство
Демографія
Екологія
Економіка
Електроніка
Енергетика
Журналістика
Кінематографія
Комп'ютеризація
Креслення
Кулінарія
Культура
Культура
Лінгвістика
Література
Лексикологія
Логіка
Маркетинг
Математика
Медицина
Менеджмент
Металургія
Метрологія
Мистецтво
Музика
Наукознавство
Освіта
Охорона Праці
Підприємництво
Педагогіка
Поліграфія
Право
Приладобудування
Програмування
Психологія
Радіозв'язок
Релігія
Риторика
Соціологія
Спорт
Стандартизація
Статистика
Технології
Торгівля
Транспорт
Фізіологія
Фізика
Філософія
Фінанси
Фармакологія


Получить полиномную дробь можно так.

Создать числитель и знаменатель дроби с помощью команды poly и воспользоваться знаком деления /. Пример.
-->poly([1 -1],"x","c")/poly([1 2 3],"x","c")
ans =

1 - x

-----------

2

1 + 2x + 3x

Операции в символьном виде производят так же, как и в численном виде. Очень удобно для выполнения алгебраических задач.

Пример.

Пусть мы хотим умножить один полином на другой, например, (1-x)*(1+2x2).

-->p1=poly([1 -1],"x","c");

-->p2=poly([1 0 2],"x","c");

-->p1*p2

Результат:

ans =

1 - x + 2x2 - 2x3

В 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

Лекция 2

Большинство операций в 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.

-->(2*1+4*4+6*12+8*24)/(1^2+12^2+4^2+24^2)

ans =

0.3826323

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

-->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. Обычно функции определены в текстовом файле, набранном во внешнем редакторе (например, в Windows в редакторе Word или в "блокноте") и загружаются в Scilab с помощью команды exec("filename"). Можно создавать функции и внутри Scilab. Вместо двойных кавычек можно писать одинарные. В дальнейшем будет показано как загружать функции в файл "filename" и компилировать их. Первая строка функции может быть следующей:

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,…)

……………………. тело функции

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(‘%3.6f’,d) // 6 знаков после запятой

56.678900

 

-->c=678.55566969;d=56.6789;

-->printf('%4.3f %4.1f',c,d)

678.556 56.7

Для завершения работы с системой можно использовать команды Quit иExit.

Главное меню

Меню File

Команда New Scilab открывает новое окно Scilab, фактически пакет запускается повторно.

Команда Open открывает окно для загрузки созданного ранее файла, рисунка или модели.

Команда Load открывает окно для загрузки файлов, информация в которых хранится в виде машинных кодов, при их открытии в память компьютера загружаются определенные ранее переменные и функции.

Команда Save: сохранение всех определенных в данной сессии переменных и функций в виде файла с расширением sav или bin.

Команда Change Directoryменяет текущий каталог.

Команда Get Current Directoryвыдает в командную строку имя текущего каталога.

Команды Print Setup и Print задают опции печати.

Команда Exit - выход из системы.

Пункт меню Editпредназначен для редактирования текста программ. С его помощью можно выделять, копировать, вставлять текст, очищать буфер обмена, просматривать список ранее введенных команд (History).

С помощью пункта Preferencesможно при наличии возможности поменять язык в системе, цвет текста и заднего плана, восстановить прежние цвета, показать или скрыть кнопки панели инструментов, установить типы поддерживаемых форматов, выбрать фонт шрифта, очистить предысторию, очистить командное окно, вызвать консоль scilabи настроить ее.

Пункт меню Editor позволяет открыть окно редактора.

Пункт меню ? позволяет получить справку по системе Scilab и просмотреть демонстрационные примеры. В справочной системе информацию можно искать, воспользовавшись содержанием, в списке, упорядоченном по алфавиту, по ключевому слову или фразе.

 

© 2013 wikipage.com.ua - Дякуємо за посилання на wikipage.com.ua | Контакти