Разделы презентаций


Программирование в системе Scilab

Содержание

Scilab – это кроссплатформенная система компьютерной алгебры.Изначально это был коммерческий проект под названием Blaise, а затем Basile. С 2003 года продукт получил новое имя Scilab и стал бесплатным. В настоящее время он

Слайды и текст этой презентации

Слайд 1Программирование в системе Scilab

Программирование в системе Scilab

Слайд 2Scilab – это кроссплатформенная система компьютерной алгебры.
Изначально это был коммерческий проект

под названием Blaise, а затем Basile.
С 2003 года продукт

получил новое имя Scilab и стал бесплатным. В настоящее время он распространяется по свободной лицензии CeCILL.

Что такое Scilab

Scilab – это кроссплатформенная система компьютерной алгебры.Изначально это был коммерческий проект под названием Blaise, а затем Basile. С

Слайд 3Для удобства написания скриптов (функций) в Scilab имеется встроенный редактор

– Scipad.
Редактор SciPad

Для удобства написания скриптов (функций) в Scilab имеется встроенный редактор – Scipad. Редактор SciPad

Слайд 4Встроенный язык Scilab – это язык структурного программирования не имеющий,

в отличие от Matlab, средств для работы с объектами.
Стандартные

конструкции встроенного языка
Встроенный язык Scilab – это язык структурного программирования не имеющий, в отличие от Matlab, средств для работы

Слайд 5Переменные не описываются, а создаются путем присвоения им начального значения,

например так:
a = 1
b='Hello'
c= %t

Переменные не описываются, а создаются путем присвоения им начального значения, например так:a = 1b='Hello'c= %t

Слайд 6Вследствие Unix-корней системы, важен регистр букв в имени переменных, например:
-->d=3;D='три';
-->d*3
ans

=
9.0
-->D*3
!--error 144
Операция для заданных операндов не определена.
-->D+'

– это текст'
ans =
три – это текст

Вследствие Unix-корней системы, важен регистр букв в имени переменных, например:-->d=3;D='три';-->d*3ans =  9.0-->D*3!--error 144 Операция для заданных

Слайд 7def_base=2 //глобальная переменная

function rez=log_b(num, base)
chk_log=%f //локальная переменная

rez=log(num)/log(base)
endfunction

Глобальные и локальные переменные

def_base=2 //глобальная переменнаяfunction rez=log_b(num, base)  chk_log=%f //локальная переменная  rez=log(num)/log(base)endfunctionГлобальные и локальные переменные

Слайд 8function [выходные параметры]=имя_функции(входные параметры)

тело функции


[выходные параметры]=…
endfunction

Описание функции

function [выходные параметры]=имя_функции(входные параметры)  …  тело функции  …  [выходные параметры]=…endfunctionОписание функции

Слайд 9function [outS]=Hello1(Name)
outS='Привет, '+Name+'!'
endfunction
Вот пример выполнения этой функции:
-->Hello1('незнакомец')
ans =
Привет,

Незнакомец!

Линейный процесс вычислений

function [outS]=Hello1(Name)  outS='Привет, '+Name+'!'endfunctionВот пример выполнения этой функции:-->Hello1('незнакомец')ans =Привет, Незнакомец!Линейный процесс вычислений

Слайд 10Укажем массив значений:

Hello1(['Незнакомец';'Инкогнито'])
ans =
!Привет, Незнакомец! !
!Привет, Инкогнито! !

Укажем массив значений:Hello1(['Незнакомец';'Инкогнито'])ans =!Привет, Незнакомец! !!Привет, Инкогнито!  !

Слайд 11Эти операции служат для выполнения матричных действий по правилам матричной

алгебры. Например:
-->a=[1 2 3],b=[3 2 1]
a =
1. 2. 3.
b

=
3. 2. 1.
-->a*b
!--error 10
Некорректное умножение.

Эти операции служат для выполнения матричных действий по правилам матричной алгебры. Например:-->a=[1 2 3],b=[3 2 1]a =

Слайд 12Согласно правилам матричной алгебры, важен порядок множителей:
-->a*b'
ans =
10.
-->b'

* a
ans =
3. 6. 9.
2. 4.

6.
1. 2. 3.

Согласно правилам матричной алгебры, важен порядок множителей:-->a*b'ans =  10.-->b' * aans =  3. 6. 9.

Слайд 13Для выполнения поэлементного умножения двух массивов необходимо поставить перед знаком

действия точку:
-->a .* b
ans =
3. 4. 3.

Для выполнения поэлементного умножения двух массивов необходимо поставить перед знаком действия точку:-->a .* bans =  3.

Слайд 14Функция для расчета логарифма числа по произвольному основанию:
function rez=logB(num,base)

rez = log(num)/log(base)
endfunction


Операторы ветвления

Функция для расчета логарифма числа по произвольному основанию:function rez=logB(num,base)  rez = log(num)/log(base)endfunctionОператоры ветвления

Слайд 15if then
elseif then
...
elseif then
else

end

if then elseif then ...elseif then else end

Слайд 16function [rez]=logB(num, base)
//Проверка размера массивов
if or([length(num)>1,

length(base)>1]) then
error('Ошибка: массив не может быть входным

параметром');
else
if and([num>0, base>0, base<>1]) then
rez = log(num)/log(base)
else
error('Ошибка: неверные входные данные');
end
end
endfunction

Новый вид функции с проверкой входных данных на корректность:

function [rez]=logB(num, base)  //Проверка размера массивов  if or([length(num)>1, length(base)>1]) then   error('Ошибка: массив не

Слайд 17warning('on') //включение режима вывода предупреждений
warning('сообщение') //вывод сообщения
warning('off') //выключение режима вывода

предупреждений

Способ использования прост:

warning('on') //включение режима вывода предупрежденийwarning('сообщение') //вывод сообщенияwarning('off') //выключение режима вывода предупрежденийСпособ использования прост:

Слайд 18select
case then
case

2> then
case then

case <значение N> then <действия N>
else
<действия по умолчанию>
end

Общий вид оператора множественного выбора

select  case then  case then  case then … case then  else

Слайд 19Рассмотрим функцию, получающую количество информации в байтах и выдающее название

наибольшей единицы измерения.
function rez=edIzm(N)
sN = string(N)
select

length(sN)
case 1 then rez='Байт'
case 2 then rez='Байт'
case 3 then rez='Байт'
case 4 then rez='Килобайт'
case 5 then rez='Килобайт'
case 6 then rez='Килобайт'
case 7 then rez='Мегабайт'
case 8 then rez='Мегабайт'
case 9 then rez='Мегабайт'
else
warning('on')
warning('Введенное больше чем 999 Мегабайт')
warning('off')
rez='Много'
end //select
endfunction

Рассмотрим функцию, получающую количество информации в байтах и выдающее название наибольшей единицы измерения.function rez=edIzm(N)  sN =

Слайд 20Счетный (for) и условный (while).
Общий вид оператора счетного цикла следующий:
for

=

End



Циклы

Счетный (for) и условный (while).Общий вид оператора счетного цикла следующий:for =  EndЦиклы

Слайд 21Рассмотрим описанную нами функцию edIzm.

-->edIzm([1,2,4])
ans =
Байт
-->edIzm([1,23,4])
WARNING: Введенное больше чем

999 Мегабайт
ans =
Много

Рассмотрим описанную нами функцию edIzm.-->edIzm([1,2,4])ans = Байт-->edIzm([1,23,4])WARNING: Введенное больше чем 999 Мегабайтans = Много

Слайд 22function [rez]=edIzm(N)
i=0
for iN=N
i=i+1

sN=string(iN)
select length(sN)

case 1 then rez(i)='Байт'
case 2 then rez(i)='Байт'
case 3 then rez(i)='Байт'
case 4 then rez(i)='Килобайт'
case 5 then rez(i)='Килобайт'
case 6 then rez(i)='Килобайт'
case 7 then rez(i)='Мегабайт'
case 8 then rez(i)='Мегабайт'
case 9 then rez(i)='Мегабайт'
else
warning('on')
warning(sN+' больше чем 999 Мегабайт')
warning('off')
rez(i) ='Много'
end //select
end //for
endfunction

Счетный оператор цикла:

function [rez]=edIzm(N)  i=0  for iN=N   i=i+1   sN=string(iN)   select length(sN)

Слайд 23Возможен и такой вариант начала функции:

function [rez]=edIzm(N)
NSize=length(N)

for i=1:NSize
sN=string(N(i))
select length(sN)
. .

.

Возможен и такой вариант начала функции:function [rez]=edIzm(N)  NSize=length(N)  for i=1:NSize   sN=string(N(i))

Слайд 24Общий вид этого оператора:

while

end

Цикл while.

Общий вид этого оператора:while endЦикл while.

Слайд 25Вместо строк
sN=string(N(i))
select length(sN)
можно вставить следующее:
iN=0
NTemp=N(i)
while NTemp>0 do
iN=iN+1

NTemp=int(NTemp/10)
end
select iN


Вместо строкsN=string(N(i))select length(sN)можно вставить следующее:iN=0NTemp=N(i)while NTemp>0 do  iN=iN+1  NTemp=int(NTemp/10)endselect iN

Слайд 26Спасибо за внимание

Спасибо за внимание

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика