Помощь - Поиск - Пользователи - Календарь
Полная версия: Умножение матрицы на вектор
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Eskel
Не подскажите, как умножить матрицу на вектор, избежав частных случаев? Т.е., чтоб прога проверяла на возможность умножения
Lapp
Цитата(Eskel @ 27.12.2008 9:16) *
Не подскажите, как умножить матрицу на вектор, избежав частных случаев? Т.е., чтоб прога проверяла на возможность умножения

Боюсь, я не вполне понял про "частные случаи".
Вектор можно трактовать как солбец и как строку. Если ты имеешь в виду умножение матрицы на столбец, порождающее новый столбец (вектор), то единственное необходимое и достаточное требование для осуществления этой операции - это чтоб длина вектора (столбца) совпадала с размером строки матрицы (то есть, количеством столбцов). Сама по себе процедура записывается так:

Bi = [Сумма по j от 1 до n] Cij*Aj

Пока не понимаю, какое это все имеет отношение к Паскалю.. может, перенести в Математику?
Eskel
Задача такова:

В программе имеется процедура для умножения прямоугольной матрицы на вектор. Процедура проверяет пригодность операндов для операции.

То есть нельзя изначально в переменных задавать матрицу [1..2,1..3] и вектор(строка) к примеру [1..2]. Пользователь сам вводит размерность матрицы и вектора. Процедура проверяет на возможность умножения(условие я знаю - кол-во строк должно совпадать с длинной вектора) и если умножение возможно - то умножает и выводит рез-тат, если же нет - пишет что-то типа "ошибка"...
Lapp
Цитата(Eskel @ 28.12.2008 14:48) *
условие я знаю - кол-во строк должно совпадать с длинной вектора
Не строк, а столбцов. Ты вообще прочел мое предыдущее сообщение?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.