МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ КАЗАХСТАН
КОНТРОЛЬНАЯ РАБОТА
по дисциплине «Инструментальные средства разработки программных средств»
На тему: «Действия над матрицами»
Выполнил:
студент гр.08-ВТ3-3
Проверил:
Преподаватель
Индивидуальное задание.
Задание: Реализация действий над матрицами (сложение, вычитание, умножение, обращение, транспонирование)
Технология: Automation, позднее связывание.
Тип (имя) сервера: MS Excel.
Формулы расчёта.
Сложение матриц.
Результатом сложения матриц А и В является матрица С элементы которой равны попарной сумме соответствующих элементов матриц А и В.
Аij+Bij = Cij
Вычитание матриц.
Результатом вычитания матриц А и В является матрица С элементы которой равны попарной разности соответствующих элементов матриц А и В.
Аij - Bij = Cij
Умножение матриц.
Результатом умножения матриц А и В является матрица С элементы которой равны сумме произведений элементов в соответствующей строке первого множителя и столбце второго.
Но, поскольку мы для расчета используем MS Excel, то умножаем матрицы с помощью доступной нам функции «МУМНОЖ».
Обращение матриц.
Обратная матрица — такая матрица A-1, при умножении на которую исходная матрица A даёт в результате единичную матрицу E:
АА-1=А-1А=Е
При условии что,аd-bc≠0.
Для получения обращенной матрицы используем функцию MS Excel «МОБР».
Транспонирование матриц.
Результатом транспонирования матрицы А является матрица С, каждый n-ый столбец которой идентичен n-ой строке матрицы А.
А Результат транспонирования матрицы А матрица С.
Для получения транспонированной матрицы средствами MS Excel используем функцию «ТРАНСП».
Схема алгоритма.
Рисунок 1. –Схема работы программы.
Для реализации задания используется функция CreateOleObject модуля comobj.
Исходный код приложения.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,comobj, Grids;
type
TForm1 = class(TForm)
Button1: TButton;
StringGrid1: TStringGrid;
StringGrid2: TStringGrid;
StringGrid3: TStringGrid;
StringGrid4: TStringGrid;
StringGrid5: TStringGrid;
StringGrid6: TStringGrid;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var m:OLEvariant;
i,j:integer;
begin
randomize;
for i:=1 to 4 do
for j:=1 to 4 do
StringGrid1.Cells[i-1, j-1]:=IntToStr(random(25));
m:=CreateOLEObject('Excel.Application');
m.WorkBooks.Add;
m.WorkBooks[1].WorkSheets[1].Name:='Действия над матрицами';
//m.Application.Visible:=true;
for i:=1 to 4 do
for j:=1 to 4 do
m.WorkBooks[1].WorkSheets[1].Cells.Item[i,j]:=StringGrid1.Cells[i-1, j-1];
//оформление
m.WorkBooks[1].WorkSheets[1].Range['E1:E18'].ColumnWidth:=2;
m.WorkBooks[1].WorkSheets[1].Range['E1:E18'].Interior.Color:=RGB(0,0,0);
m.WorkBooks[1].WorkSheets[1].Range['J1:J18'].ColumnWidth:=2;
m.WorkBooks[1].WorkSheets[1].Range['J1:J18'].Interior.Color:=RGB(0,0,0);
m.WorkBooks[1].WorkSheets[1].Range['A6:I6'].Interior.Color:=RGB(0,0,0);
m.WorkBooks[1].WorkSheets[1].Range['A18:I18'].Interior.Color:=RGB(0,0,0);
m.WorkBooks[1].WorkSheets[1].Range['A12:I12'].Interior.Color:=RGB(0,0,0);
m.WorkBooks[1].WorkSheets[1].Range['A5'].Font.Bold:=true;
m.WorkBooks[1].WorkSheets[1].Range['A5'].Font.Size:=18;
m.WorkBooks[1].WorkSheets[1].Range['A5'].Value:='Исходная матрица';
m.WorkBooks[1].WorkSheets[1].Range['A11'].Font.Bold:=true;
m.WorkBooks[1].WorkSheets[1].Range['A11'].Font.Size:=13;
m.WorkBooks[1].WorkSheets[1].Range['A11'].Value:='Результат транспонирования';
m.WorkBooks[1].WorkSheets[1].Range['F5'].Font.Bold:=true;
m.WorkBooks[1].WorkSheets[1].Range['F5'].Font.Size:=13;
m.WorkBooks[1].WorkSheets[1].Range['F5'].Value:='Результат вычитания';
m.WorkBooks[1].WorkSheets[1].Range['F11'].Font.Bold:=true;
m.WorkBooks[1].WorkSheets[1].Range['F11'].Font.Size:=13;
m.WorkBooks[1].WorkSheets[1].Range['F11'].Value:='Результат сложения';
m.WorkBooks[1].WorkSheets[1].Range['A17'].Font.Bold:=true;
m.WorkBooks[1].WorkSheets[1].Range['A17'].Font.Size:=13;
m.WorkBooks[1].WorkSheets[1].Range['A17'].Value:='Результат умножения';
m.WorkBooks[1].WorkSheets[1].Range['F17'].Font.Bold:=true;
m.WorkBooks[1].WorkSheets[1].Range['F17'].Font.Size:=13;
m.WorkBooks[1].WorkSheets[1].Range['F17'].Value:='Результат обращения';
m.WorkBooks[1].WorkSheets[1].Range['A19'].Font.Name:='Times New Roman';
m.WorkBooks[1].WorkSheets[1].Range['A19:J19'].RowHeight:=30;
m.WorkBooks[1].WorkSheets[1].Range['A19:J19'].MergeCells:=true;
m.WorkBooks[1].WorkSheets[1].Range['A19'].Font.Bold:=true;
m.WorkBooks[1].WorkSheets[1].Range['A19'].Font.Size:=13;
m.WorkBooks[1].WorkSheets[1].Range['A19'].Value:='Действия сложения,вычитания умножения производятся между "исходной" и "транспонированной" матрицами.';
m.WorkBooks[1].WorkSheets[1].Range['A19'].Wraptext:=true;
//транспонирование
m.WorkBooks[1].WorkSheets[1].Range['A7:D10', EmptyParam].Select;
m.WorkBooks[1].WorkSheets[1].Range['A7:D10', EmptyParam].FormulaArray:='=ТРАНСП(R1C1:R4C4)';
//сложение
m.WorkBooks[1].WorkSheets[1].Range['F7:I10', EmptyParam].Select;
m.WorkBooks[1].WorkSheets[1].Range['F7:I10', EmptyParam].FormulaArray:='=(R1C1:R4C4)+(R7C1:R10C4)';
//вычитание
m.WorkBooks[1].WorkSheets[1].Range['F1:I4', EmptyParam].Select;
m.WorkBooks[1].WorkSheets[1].Range['F1:I4', EmptyParam].FormulaArray:='=(R1C1:R4C4)-(R7C1:R10C4)';
//умножение
m.WorkBooks[1].WorkSheets[1].Range['A13:D16', EmptyParam].Select;
m.WorkBooks[1].WorkSheets[1].Range['A13:D16', EmptyParam].FormulaArray:='=МУМНОЖ(R1C1:R4C4;R7C1:R10C4)';
//обращение
m.WorkBooks[1].WorkSheets[1].Range['F13:I16', EmptyParam].Select;
m.WorkBooks[1].WorkSheets[1].Range['F13:I16', EmptyParam].FormulaArray:='=МОБР(R1C1:R4C4)';
//передача данных
for i:=13 to 16 do
for j:=1 to 4 do
StringGrid5.Cells[j-1, i-13]:=m.WorkBooks[1].WorkSheets[1].Cells.Item[i,j];
for i:=7 to 10 do
for j:=6 to 10 do
StringGrid4.Cells[j-6,i-7]:=m.WorkBooks[1].WorkSheets[1].Cells.Item[i,j];
for i:=1 to 4 do
for j:=6 to 10 do
StringGrid3.Cells[j-6, i-1]:=m.WorkBooks[1].WorkSheets[1].Cells.Item[i,j];
for i:=1 to 4 do
for j:=7 to 10 do
StringGrid2.Cells[j-7, i-1]:=m.WorkBooks[1].WorkSheets[1].Cells.Item[j,i];
for i:=13 to 16 do
for j:=6 to 10 do
StringGrid6.Cells[j-6, i-13]:=m.WorkBooks[1].WorkSheets[1].Cells.Item[i,j];
m.displayalerts:=false;
m.application.quit;
m:=Unassigned;
end;
Рисунок 2.-«Окно вывода результатов действий над матрицами»
Список использованной литературы:
3. Корняков В. Н. «Программирование документов и приложений MS Office в Delphi.» —СПб. : БХВ-Петербург, 2005. - 496 с : ил. ISBN 5-94157-458-4
Другие работы по теме:
Модель расширяющейся экономики Неймана
Классическая (исходная) модель Неймана строится при следующих предпосылках: 1. экономика, характеризуемая линейной технологией, состоит из отраслей, каждая из которых обладает конечным числом производственных процессов, т.е. выпускается несколько видов товаров, причем допускается совместная деятельность отраслей;
Электронные цепи СВЧ (конспект) Add1
Параметры матрицы рассеяния могут быть рассчитаны по известной матрице проводимости четырехполюсника по формуле: – единичная матрица. Необходимо отметить важную особенность параметров матрицы рассеяния, связанную с направлением прохождения сигнала. При изменении направления передачи изменятся лишь индексы в параметрах рассеяния (
Конструирование ПЛИС
Специализированные полузаказные ИС на базовых матричных кристаллах (БМК), называемых за рубежом вентильными матрицами (Gate Arrays), безусловно, обладают рядом преимуществ. Основным из них является возможность создания на их основе самых различных микросхем при наличии развитых средств проектирования.
Жидкие кристаллы 3
Жидкие кристаллы (ЖК) - это вещества, способные под электрическим напряжением изменять величину пропускаемого света. Современные ЖК - мониторы называют - LCD-монитор, плоскими панелями, активными матрицами двойного сканирования, тонкопленочными транзисторами, они изящны на вид, компактны, экономичны, обеспечивают высококачественное контрастное, яркое, отчетливое изображение, но цена более высокой, чем у мониторов с ЭЛТ.
Бескоалиционные игры
Антагонистические игры, которые мы изучали ранее, описывают конфликты весьма частного вида. Более того, для большинства имеющих место в реальной жизни конфликтов антагонистические игры либо вовсе не могут считаться приемлемыми, адекватными описаниями, либо, в лучшем случае, могут рассматриваться как первые грубые приближения.
Матрицы и определители
Дисциплина: Высшая математика Тема: Матрицы и определители Понятие матрицы При изучении вопросов, связанных с действием над векторами, а также при изучении систем линейных уравнений приходится иметь дело с таблицами из чисел, которые называются матрицами.
Матрицы и определители 3
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ КАЗАХСТАН Рудненский индустриальный институт ДИСТАНЦИОННОЕ ОБРАЗОВАНИЕ МАТЕМАТИКА ЮНИТА № 1 Матрицы и определители.
Алгебра матриц. Системы линейных уравнений
Выполнение действий над матрицами. Определение обратной матрицы. Решение матричных уравнений и системы уравнений матричным способом, используя алгебраические дополнения. Исследование и решение системы линейных уравнений методом Крамера и Гаусса.
Теория Матриц и Определителей
Средняя школа № 45. Город Москва. Ученик 10 класса “Б” Горохов Евгений Курсовая работа (черновик). Введение в теорию матриц и определителей
Алгебра матриц
Основные понятия. Линейные операции над матрицами. Умножение матриц. Свойства умножения матриц. Вырожденные и невырожденные матрицы.
Матрицы и определители
Матрицы. Операции над матрицами. Определители. Теорема (разложение определителя по строке или столбцу).. Ранг матрицы. Обратная матрица.
Некоторые понятия высшей матаматики
Понятие матрицы, эллипса, гиперболы и параболы. Системы уравнений с матрицами. Проекция вектора на ось и действия с векторами. Плоскость и прямые линии в пространстве, их взаимное расположение. Прямоугольная декартова система координат на плоскости.
Матрицы
Общие определения, связанные с понятием матрицы. Действия над матрицами. Определители 2-го и 3-го порядков, порядка n, порядок их вычисления и характерные свойства. Обратные матрицы и их ранг. Понятие и этапы элементарного преобразования матрицы.
Матрицы Метод Гаусса
КОСТРОМСКОЙ ФИЛИАЛ ВОЕННОГО УНИВЕРСИТЕТА РХБ ЗАЩИТЫ Кафедра «Автоматизации управления войсками» Только для преподавателей "Утверждаю"
Матрицы действия с ними
Контрольная работа на тему: «Матрицы, действия с ними» Историческая справка Понятие Матрица (в математике) было введено в работах У. Гамильтона и А. Кэли в середине 19 века. Основы теории созданы К. Вейерштрассом и Ф. Фробениусом (2-я половина 19 века и начало 20 века). И.А. Лаппо-Данилевский разработал теорию аналитических функций от многих матричных аргументов и применил эту теорию к исследованию систем дифференциальных уравнений с аналитическими коэффициентами.
Квадратные формы
Лекция 10. Квадратичные формы и их связь с симметричными матрицами. Свойства собственных векторов и собственных чисел симметричной матрицы. Приведение квадратичной формы к каноническому виду.
Решение математических задач в среде Excel
1.1.Численное дифференцирование Известно, что численными приближенными методами производная функции в заданной точке может быть вычислена с использованием конечных разностей. Выражение, записанное в конечных разностях, для вычисления производной функции одного переменного имеет вид:
Turbo Paskal Операции над матрицами
Государственный Комитет Российской Федерации по Высшему Образованию Санкт-Петербургский Государственный Электротехнический Университет «ЛЭТИ»
Работа с массивами и решение систем уравнений в Mathcad
Использование ранжированных переменных в программном пакете Mathcad. Создание матриц без использования шаблонов матриц, описание операторов для работы с векторами и матрицами. Решение систем линейных и нелинейных уравнений с помощью функций Mathcad.
Программа, реализующая тип данных "вещественная матрица"
Этапы реализации класса "вещественная матрица", позволяющего осуществлять основные операции с вещественными прямоугольными и транспонированными матрицами. Листинг программы, которая реализует тип данных "вещественная матрица" и принципы работы с ними.
Расположение элементов в матрице
Расположение в матрице элементов в порядке их возрастания в указанной последовательности. Составление программы на алгоритмическом языке, выполняющей указанные преобразования с матрицами. Выведение исходных и преобразованных матриц, занесение их в файл.
Операции с матрицами
Процедура сложения и вычитания матриц (с учетом коэффициента перед матрицами). Основные концепции языка Turbo Pascal. Фортран как один из пионеров программирования Дейкстрой. Первый компилятор Паскаля на платформах DEC. Основные стандарты языка.
ЛИСП-реализация операций над матрицами
Принципы разработки и пример работы программы, реализующей основные операции алгебры матриц: сложение, вычитание, умножение, транспонирование, а также умножение матрицы на число. Функциональные модели и блок-схемы решения задачи операций над матрицами.
Turbo Paskal Операции над матрицами
Государственный Комитет Российской Федерации по Высшему Образованию Санкт-Петербургский Государственный Электротехнический Университет «ЛЭТИ»
Решение математических задач в среде Excel
1. 2. 2.1.Численное дифференцирование Известно, что численными приближенными методами производная функции в заданной точке может быть вычислена с использованием конечных разностей. Выражение, записанное в конечных разностях, для вычисления производной функции одного переменного имеет вид:
Пояснительная записка к курсовой работе
Содержание 1. Программирование нестандартных функций --------------------------------------------------- 5 1.1. Постановка задачи -------------------------------------------------------------------------- 5
Вычисление матрицы в MS Excel
Содержание: Матрицы Операции с матрицами Транспонирование Вычисление определителя матрицы Нахождение обратной матрицы Сложение и вычитание матриц
Нуклеиновые кислоты
Это высокомолекулярные биополимеры. Впервые были обнаружены в ядре в конце 19в., хотя они есть и в цитоплазме. Они состоят из мономеров, сложных химических соединений, - нуклеотид.