Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Теоретические и практические вопросы дисциплины «Информатика». Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
61
У м н о ж е ни е м а т р и ц ы н а в е к т о р , например:
C
1 2 3
 
 

P C
64 86 53
 
 
P
0 0
3
P3
182
4
 
 

Pr P3
1

Pr
0.333
0.667
0.167
0.083
 
 
Pr P3
100
1
 
 
det P3
det 12
2.7.2 Использование матричных операторов для преобразования матриц и векторов
На панели Mатричные расположены операторы, позволяющие
выполнять некоторые матричные и векторные преобразования.
О п е р а то р в ы д е л е н и я (Хn) э л е м е н т а м а т р и ц ы или
вектора позволяет выделить (определить) элемент матрицы или вектора. При выделении элемента следует учитывать, что по умолчанию индексация элементов матрицы и векторов начинается с нуля, например для выделения первого элемента матрицы P необходимо записать:
Для ввода второго индекса, необходимо ввести запятую после
первого индекса и затем в появившийся маркер ввести второй индекс массива.
О п е р а т о р в ыч и сл ен и я о б р а т н о й м ат ри цы (X-1)
позволяет вычислить обратную матрицу, например:
Кстати, хорошо известно, что если обратную матрицу умножить
на обычную, то получается единичная матрица:
О п е р а то р в ы ч и с л е н и я д е т е р м и н а н т а
( о п р е д е л и те л я ) м а т р и ц ы | Х | :
62
Определитель матрицы, как известно, это число, вычисляемое
)(Mf
P5
1
100101000

log P5( )

021
3
 
 
K P5
0
 

p4
0
2
  
  

cos p4( )
1 0
1
 
 
K
1
100
 
 
P2
1 2 5
3 1 3
7 9 2
 
 
P2
T
1 3 7
2 1 9
5 3 2
 
 
по матрице по определенным правилам.
О п е р а то р в е к т о р и з а ц и и (
означает выполнение однотипной операции с каждым элементом массива, например:
В данном случае вычислен косинус от каждого элемента вектор-
столбца p4.
Другой пример: необходимо вычислить десятичный логарифм от
заданной матрицы P5.
Оператор выделения вектор столбца матрицы (M выделить заданный столбец матрицы и записать его в виде вектор­столбца, например для выделения первого столбца матрицы P5 необходимо выполнить:
) . Векторизация
< >)
позволяет
О п е р а то р т р а н с п о н и р о в а н и я ( М позволяет перевернуть матрицу на 90 градусов так, что столбцы становятся строками:
Т
) матрицы
63
Транспонирование вектор–столбца позволяет получить вектор-
K
1
100
 
 
K
T
1 100( )
K101
P5
162738495
10
 
 

cols P5( ) 5
rows P5( ) 2
max P5( ) 10
min P5( ) 1
mean P5( ) 5.5
C
1 2 3
 
 
last C( ) 2
строку:
О п е р а то р в ы ч и с л е н и я с у м м ы ( Συ) вектор-столбца
позволяет вычислить сумму элементов вектор-столбца:
2.7.3 Матричные функции
Функция c o l s () позволяет определить число столбцов матрицы:
Функция r o w s () позволяет определить число строк массива:
Функция m a x () позволяет определить максимальный элемент
массива:
Функция m i n () позволяет определить минимальный элемента
массива:
Функция m e a n () позволяет вычислить среднее значение
элементов матрицы:
Функция l a s t () предназначена для вычисления индекса
последнего элемента вектора:
64
Максимальное значение индекса вектор-столбца С равно двум,
ORIGIN:=1
ORIGIN:=1
i 1 2
j 1 2
M
i j
rnd 10( )
M
1.191
5.317
0.089
6.018
 
 
M1
i j
ceil rnd 10( )( )
M1
793
4
 
 
i 1 2
j 1 2
т.к. индексация элементов начинается с нуля.
Для изменения начальной индексации матриц и вектор-столбцов используют специальную системную переменную (ORIGIN), значение которой можно переопределять. Такую переменную, записанную прописными буквами, необходимо поместить над матрицей, индексы которой переопределяются, например:
Вышеприведенная запись означает, что индексация элементов матрицы, расположенной ниже системной переменной, начата с единицы.
Для генерации матрицы произвольных размеров можно использовать функцию rnd (х), позволяющую получить равномерно распределенное случайное число от нуля до x. Сгенерируем квадратную матрицу с элементами, значение которых не превышает
10:
Если использовать функцию округления ceil (x), которая вычисляет наименьшее целое число, большее или равное x, то получим матрицу с целочисленными элементами:
Задача 12. Найти сумму всех элементов квадратной матрицы. Cформировать целочисленную матрицу, используя функцию rnd
(максимальное значение элемента равно десяти). Программа в MathCAD:
65
При решении данной задачи следует учитывать, что при
Определение индексов:
j:=i
Вычисление числа отрицательных элементов:
N=3
Вычисление суммы отрицательных элементов:
2
3
0
2
ln
cos
 
 
i
i
i
jj
y
y
xarcxZ
где x=(0,98; -0,45; 0,176; 0,675; -0,03)
y=(22,5; 3; 40)
U
i j
ceil rnd 10( )( )
U
257
10
 
 
S
i j
U
i j

S 24
F
3 4 2
7
4
3
6 2
3
 
 

i ORIGIN last F
1
 

N
i j
if F
i j
0 1 0

SN
i j
if F
i j
0 F
i j
 0

SN 10
использовании функции rnd каждый раз будет получаться новая матрица.
Задача 13. Вычислить сумму и число (количество) отрицательных
элементов заданной квадратной матрицы F.
Задача 14. Вычислить компоненты вектора Z по выражению:
Программа в MathCAD: Программа для вычисления компонентов вектора Z
66
Программист – студент группы 6131−11 Климова Е.М.
X
0.98
0.45
0.176
0.675
0.03
    
    

Y
22.5 3
40
 
 

j ORIGIN last X( )
i ORIGIN last Y( )
p2
i
ln Y
i
Y
i
 
 
2

p2 0.162
Z
j
X
j
2
acos X
j
p2
Z
0.354
0.574
0.205
0.54
0.163
    
    
Дата разработки программы 29.10.13 Имя файла программы: Vektor_1.mcd
Задаем индексы массивов, как дискретные переменные:
Вычислим выражение под знаком суммы:
Итак, p2 − число (скаляр) и, следовательно, число компонентов
вектора Z определяется только индексом j.
Задача 15. Составить программу (смотри условие Задачи 14), используя понятие векторизации.
В этом способе индексы не используются. Векторизация в
MathCAD позволяет выполнить одну или несколько операций с каждым элементом массива.
67
Находим сумму элементов вектора Р2, используя оператор
вычисления суммы вектора, расположенный на панели Матрицы:
Z X2acos X( )

sp2
X
0.98
0.45
0.176
0.675
0.03
    
    

Y
22.5 3
40
 
 

P2
ln Y( )
Y
 
 
2


P2
0.019
0.134
8.505 10
3
 
 
SP2 P2

SP2 0.162
Z
0.354
0.574
0.205
0.54
0.163
    
    
Программа в MathCAD:
Вычислим выражение под знаком суммы, используя
векторизацию:
Итак, SP2 – это скаляр. В результате получаем:
68
Задача 16. Вычислить значение функции f(x) в зависимости от
 
 
,5,0
,5,2
,52
)(
2
i
i
i
i
x
x
x
xf
если x < 0 если 0 ≤ xi < 1 если xi ≥ 1,
X
5.2
3
0.7
2
  
  

i ORIGIN last X( )
f x( ) 2 x 5( ) x 0if
x22.5
0 x 1if
x 0.5( )( ) otherwise

Yif X
i

Y
4.7 1
2.01 1
  
  
условия:
где x=(5,2; -3; 0,7; -2). Решить задачу, используя индексы. Записать заданное выражение как функцию пользователя. Для решения задачи использовать оператор программирования Add Line.
Программа в MathCAD:
Запишем заданное выражение как функцию пользователя,
используя оператор Add Line:
Очевидно, что полученное решение будет представлено в виде
массива, содержащего столько же компонентов, сколько имеет массив Х. Подставим в функцию пользователя значения элементов массива Х:
69
F(X):= if(X<0, 2·X+5, if(X≥1, X-0.5, X2 -2.5))
X
5.2 3
0.7 2
  
  

i ORIGIN last X( )
Y
i
f X
i

Y
4.7 1
2.01 1
  
  
Задача 17. Решить Задачу 16, используя функцию if и записав заданное выражение как функцию пользователя.
Программа в MathCAD:
Подставим в функцию пользователя значения массива X:
70
3 ОСНОВЫ РАБОТЫ НА VISUAL BASIC FOR
Название алгоритмического
языка, (год создания) и
авторы
Область использования
алгоритмического языка
Basic (1964), Томас Курт и Джон Кемени
-универсальный язык
Fortran (1954-57), группа программистов IBM
-для проведения научных расчетов Pascal (1970), Никлаус Ричи
-для управления ресурсами ЭВМ
Ci (1972), Деннис Ричи
-для управления ресурсами ЭВМ
Ada (1979)
-для управления космическими системами в проекте СОИ
APPLICATIONS
3.1 Понятие об алгоритмических языках высокого уровня
Составной частью информационных технологий является
алгоритмический язык.
А л г о ри т м и ч е с к и й я з ы к – это система обозначений,
предназначенных для однозначного описания алгоритма.
А л г о ри т м – это набор инструкций, описывающих порядок
действий исполнителя для достижения результата решения задачи за конечное число действий.
Алгоритмический язык предназначен для создания
разнообразных прикладных программ.
В настоящее время пользователи, как правило, используют
а л г ор и т м и ч е с к и е я з ы к и в ы с о к о г о у р о в н я . На алгоритмическом языке высокого уровня запись математических выражений практически не отличается от их записи в математике.
Существуют сотни (если не тысячи) алгоритмических языков и
создаются новые. Вот некоторые из них:
Язык программирования понятен человеку, но совершенно непонятен процессору, который работает с числами. Процессор понимает только программы, записанные в машинных кодах. Для перевода программ, записанных на алгоритмическом языке высокого уровня, в машинные коды используют специальные программы­переводчики (т р а н с л я т о р ы ), которые могут быть двух видов: к о м п и л я то р ы и и н т е р п р е т а т ор ы . Компилятор преобразует исходный код (программу) в машинный код только в том случае, если
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]