Студопедия

КАТЕГОРИИ:


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

Оператор for




Оператор цикла for имеет вид

for x=xn:hx:xk

операторы

end

Здесь x - имя скалярной переменной - параметра цикла, хn - начальное значение параметра цикла, xk - конечное значение параметра цикла, hx - шаг цикла. Если шаг цикла равен 1, то hx можно опустить, и в этом случае оператор for будет таким.

for x=xn:xk

операторы

end

Выполнение цикла начинается с присвоения параметру начального значения (x=xn). Затем следует проверка, не превосходит ли параметр конечное значение (x>xk). Если x>xk, то цикл считается завершенным, и управление передается следующему за телом цикла оператору. Если же xxk, то выполняются операторы в цикле (тело цикла). Далее параметр цикла увеличивает свое значение на hx (x=x+hx). После чего снова производится проверка значения параметра цикла, и алгоритм повторяется.

Пример. Протабулировать функцию y=xln2x. Х принимает значения от 1 до с шагом 0,2.

clc

for x=1:.2:2

y=x*log(x)^2;

printf("%1.1f %2.2f",x,y)

disp('')

end

1.0 0.00

1.2 0.04

1.4 0.16

1.6 0.35

1.8 0.62

2.0 0.96

Циклы while и for могут быть прерваны с помощью оператора break.
Пример.
-->a=0; for i=1:5:100, a=a+1; if i>10 then break, end;end
-->a
a =
3.

 

Обработка массивов и матриц в Scilab

 

Массив – это совокупность однородных элементов, имеющих одно имя. Одномерный массив – это вектор . Двумерный массив – это матрица

размерности n*m.

В системе Scilab принято элементы массивов записывать следующим образом: a (1), a (n), b(3, 7), b(n, m).

Для того, чтобы определить количество элементов в одномерном массиве x, используют функцию length вида

n=length(x)

Для того, чтобы определить количество строк (n) и столбцов (m) матрицы b, можно воспользоваться функцией size:

[n, m]=size(b)

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

Рассмотрим основные алгоритмы обработки массивов и матриц и их реализацию на sci-языке.

Вопрос №30

Ввод-вывод массивов и матриц

Ввод массивов и матриц может быть организован как в режиме диалога:

clc

N=input('N=');

disp("Ввод вектора Х");

for i=1:N

x(i)=input('X=');

end

disp(x);

//Ввод матрицы

N=input('N=');

M=input('M=');

disp(' Ввод матрицы ');

for i=1:N

for j=1:M

a(i,j)=input('');

end

end

disp(a);

N=-->3

Ввод вектора Х

X=-->4

X=-->-3

X=-->46

4.

- 3.

46.

N=-->2

M=-->3

Ввод матрицы

-->-1

-->6

-->0

-->34

-->3

-->65

- 1. 6. 0.

34. 3. 65.

 

так и непосредственно в программе:

x=[4 -3 46];

a=[-1, 6, 0;34, 3,65];

 




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


Дата добавления: 2015-03-29; Просмотров: 312; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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