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

Дисциплины:

Архитектура (936)
Биология (6393)
География (744)
История (25)
Компьютеры (1497)
Кулинария (2184)
Культура (3938)
Литература (5778)
Математика (5918)
Медицина (9278)
Механика (2776)
Образование (13883)
Политика (26404)
Правоведение (321)
Психология (56518)
Религия (1833)
Социология (23400)
Спорт (2350)
Строительство (17942)
Технология (5741)
Транспорт (14634)
Физика (1043)
Философия (440)
Финансы (17336)
Химия (4931)
Экология (6055)
Экономика (9200)
Электроника (7621)


 

 

 

 



Вычисления в интерактивном режиме. 1 часть



1. Вещественные числа.Основным типом данных, скоторым производятся вычисления в среде MATLAB, являются конечные десятичные дроби, приближающие с заданной точностью произвольные вещественные числа. Последние в общем случае представимы лишь в виде бесконечных десятичных дробей. Можно сказать, что MATLAB работает с вещественными числами приближённо. Вещественное число задаётся в MATLABе мантиссой и показателем степени:

2.851038547e+12; -456.38456978; 0.0045692e0;

0.93185e-1; 4.5; -123 и т.д.

У целых чисел отсутствуют дробные части, но они все равно представляются системой MATLAB на машинном уровне в той же форме, что и дробные числа. Этот основной тип данных называется double.

Именно этот тип данных подразумевается "по умолчанию" для любой переменной. Под мантиссу и показатель степени (на машинном уровне используется двоичная система записи чисел) отводится 8 байт памяти. В результате достигается точность представления десятичных чисел порядка 15 значащих цифр. При этом максимальным по модулю представимым в системе MATLAB вещественным числом является

1.797693134862316e+308

а минимальным по модулю является следующее вещественное число:

2.225073858507202e-308

 
 

Для этих чисел даже зарезервированы имена: realmax и realmin.

После запуска среды MATLAB в её командном окне появляется знак приглашения >>, после которого можно вводить с клавиатуры числа, имена переменных, знаки операций (в частности, знак = соответствует операции присваивания), что в совокупности составляет некоторое выражение. Имена переменных начинаются с буквы и состоят из букв, цифр и знаков подчёркивания. MATLAB распознаёт в именах переменных до 31 символа (остальные игнорирует) и различает регистр символов. Нажатие клавиши Enter заставляет систему MATLAB вычислить значение выражения и показать результат, как это показано на рисунке.

Чтобы не перегружать излишними подробностями своё командное окно, MATLAB по умолчанию использует формат short для вывода вещественных чисел, при котором показываются только четыре десятичные цифры после запятой. Если требуется полное представление, то нужно ввести с клавиатуры команду

format long

после чего набрать имя переменной res, в которой записан результат вычислений. Нажав клавишу ENTER, получим более подробную информацию:

res =

-93.29900636942675

Теперь все результаты вычислений будут показываться с такой высокой точностью в течение данного сеанса работы MATLABа. Если требуется до прекращения текущего сеанса работы вернуться к старой точности визуального представления вещественных чисел в командном окне MATLABа, нужно ввести и исполнить (нажав клавишу ENTER) команду

format short

Другим интересным форматом является показ вещественных чисел в виде обыкновенных дробей, для чего вводится команда

format rat

Ранее вычисленная переменная res, будет показана в следующем виде:

res =

-9050/97

 
 

Ну и, наконец, если операнды и результаты вычислений являются целыми, то хотя они и представляются в памяти машины так же, как и дробные числа, визуально в командном окне MATLABа они показываются в виде целых чисел. Это иллюстрируется следующим рисунком, на котором специальным именем ans обозначен (это стандартное обозначение) результат вычисления выражения, если он не был присвоен какой-либо переменной с другим именем.

2. Операции над вещественными числами.Над вещественными числами производятся арифметические операции сложения, вычитания, умножения и деления, для которых используются знаки + , - , * и / . Кроме того, есть ещё операция возведения в степень, обозначаемая значком ^ . Результаты применения этой операции показаны ниже:

5 ^ 2

ans =

или

t = ans ^ ( 0.5 )

t =

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

Помимо арифметических операций используются ещё операции отношения и логические операции.

Операции отношения сравнивают между собой два операнда по величине. Эти операции записываются следующими знаками или комбинациями знаков:

< Меньше
<= Меньше или равно
> Больше
>= Больше или равно
== Равно
~= Не равно

 
 

В случае истинности операции отношения её величина (то есть результат вычисления выражения) равна 1, а в случае ложности - 0. Вычисление выражений с операциями отношения показано на следующем рисунке:

Здесь выражение a < b вырабатывает единицу в силу того, что величина переменной a действительно меньше величины переменной b (истина).

Выражение c ~= b является истинным, так как на самом деле c, равное 3, не равно b, которое равно двум. В итоге оно вырабатывает значение 1.

Последнее выражение, b == a, не является истинным и вырабатывает 0.

В результате переменная res, равная сумме значений этих трёх выражений, оказывается равной двум.

Операции отношения имеют более низкий приоритет по отношению к арифметическим операциям, поэтому рассмотренная выше переменная res равна сумме значений трёх операций отношения только потому, что мы заключили эти операции в круглые скобки. Очень важно всегда помнить об этом, так как отсутствие круглых скобок может привести к изменению результата. Например, если a=1, b=1, c=3, то выражение

c + ( b == a )

равно 4, в то время как выражение без круглых скобок

c + b == a

равно 0.

Теперь обратим внимание на роль точки с запятой в системе MATLAB. Точка с запятой может использоваться для разных целей. Когда мы вводим с клавиатуры некоторое выражение (оно расположено после знака приглашения >>) и нажимаем клавишу ENTER, то MATLAB прозводит вычисление этого выражения и выводит результат в своё командное окно. Если мы не хотим тотчас же видеть результат вычислений (это характерно, например, для промежуточных результатов), то в конце введённого выражения следует поставить точку с запятой, и только после этого нажать ENTER.

Кроме того, если мы хотим за один раз, то есть одним нажатием клавиши ENTER вычислить несколько разных выражений, а их значения присвоить разным переменным, то эти выражения следует отделить друг от друга точкой с запятой, как это и показано на предыдущем изображении командного окна системы MATLAB.

Последней группой операций являются логические операции, перечисленные в следующей таблице:

& И
| ИЛИ
~ НЕ

Первые две из этих операций являются двухоперандными (бинарными), а операция "НЕ" является унарной. Знак ~ ставится перед операндом, а знаки & и | ставятся между операндами.

Логические операции трактуют свои операнды как "истинные" (не равные нулю) или "ложные" (равные нулю). Если оба операнда операции "И" истинны (не равны нулю), то результат этой операции равен 1 ("истина"); во всех остальных случаях операция "И" вырабатывает значение 0 (ложь). Операция "ИЛИ" вырабатывает 0 (ложь) только в случае, когда являются ложными (равными нулю) оба операнда. Наконец, операция "НЕ" инвертирует "ложь" на "истину" и наоборот. То есть, если её операндом является ненулевое число, то эта операция вырабатывает 0, а если операнд нулевой, то тогда результатом применения операции "НЕ" будет единица.

Логические операции имеют самый низший приоритет.

В одном и том же выражениии можно использовать все перечисленные операции: арифметические, логические и операции сравнения. Последовательность выполнения операций определяется их расположением внутри выражения, их приоритетом и наличием круглых скобок.

3. Рабочее пространство системы MATLAB и её командное окно.Когда Вы запускаете MATLAB и начинаете производить вычисления, в командном окне показываются вводимые с клавиатуры числа, переменные (через их имена), результаты вычислений. Обычно вычисления повторяются вновь и вновь: вводятся с клавиатуры новые числовые данные и новые символьные выражения. В результате в окне MATLABа не хватает свободного места и производится "скроллирование" ("протяжка"; "прокрутка") - все строки сдвигаются на одну позицию вверх, так что самая верхняя строка покидает область видимости, а в самом низу окна появляется свободная строка для ввода новых данных. Естественно, эта строка содержит знак приглашения >>.

Та информация, что покинула видимую часть окна, никуда не исчезает. Её всегда можно просмотреть снова, если осуществить прокрутку содержимого окна стандартным графическим средством управления - полосой прокрутки (по английски - Scrollbar). Для этого нужно щелкнуть мышью на этой полосе, или протащить с помощью мыши ползунок полосы прокрутки в нужном направлении (вверх или вниз).

Можно также осуществлять прокрутку содержимого командного окна системы MATLAB с помощью следующих клавиш клавиатуры: PageUp, PageDown, Ctrl+Home (одновременное нажатие клавиш Ctrl и Home) и Ctrl+End.

Клавиши "Стрелка вверх" и "Стрелка вниз", в любом текстовом редакторе осуществляющие перемещение курсора вверх-вниз и прокрутку содержимого окна, в системе MATLAB работают по-другому. Эти клавиши позволяют вернуть в строку ввода ранее введённые с клавиатуры команды и другую входную информацию, то есть вся эта информация запоминается в специальной области памяти. Эту область памяти называют стеком команд, так самая последняя входная информация при её прокрутке клавишой "Стрелка вверх" появится первой. Затем появится предпоследняя команда и так далее. Клавиша "Стрелка вниз" осуществляет прокрутку команд в противоположном направлении.

       
 
   
 

В итоге можно сказать, что вся видимая информация в окне системы MATLAB располагается в двух принципиально разных зонах: зоне просмотра и зоне редактирования.

В зоне просмотра уже ничего нельзя исправить, хотя в неё и можно поместить курсор, однако реакцией на ввод с клавиатуры будет автоматическое перемещение курсора (то есть точки ввода) в строку ввода, расположенную в зоне редактирования. В зоне просмотра можно выделять (селектировать) с помощью мыши любую информацию и копировать её в Буфер обмена операционной системы Windows (то есть в Clipboard), чтобы потом вставить её либо в документ текстового редактора (например, редактора Word), либо опять-таки в строку ввода.

Зона редактирования обычно занимает одну (последнюю) строку командного окна системы MATLAB, в которой показан знак приглащения >>. Её мы и называем строкой ввода. Однако при необходимости эту логическую "строку" можно распространить на несколько физических строк командного окна MATLABа. Для этого нельзя просто нажать клавишу ENTER, так как при этом ввод информации будет закончен и MATLAB приступит к вычислениям и дальнейшему показу результата. Поэтому для продления ввода с показом

 
 

вводимой информации на следующих физических строках требуется нажать ENTER только
 
 

после трёх или более точек, что и показано на рисунке.

Однако и в этом случае зона редактирования распространяется только на самую последнюю строку (теперь она уже не содержит знак приглашения >>), а в предыдущих физических строках логической строки ввода изменить уже ничего нельзя. Логическая строка ввода не может содержать более 256 символов.

Все значения переменных, вычисленные в течение текущего сеанса работы системы MATLAB, сохраняются в специальной области памяти компьютера, называемой Рабочим пространством (английскийское название - Workspace). Можно стереть командой

clc

всё видимое содержимое окна системы MATLAB, однако это не затронет содержимого Рабочего пространства. Действительно, если после этого набрать имя ранее вычисленной переменной a, то после нажатия клавиши ENETR мы снова увидим её значение:

>>a

a =

То, что MATLAB автоматически сохраняет все предыдущие результаты (а также команды), является большим удобством. Однако тут могут обнаружиться и неприятности, если объём запомненной информации станет слишком большим (в дальнейшем мы увидим, что MATLAB может работать с данными гигантских размеров). Если Вам уже не требуется хранить некоторые переменные в данном сеансе работы, их можно стереть из памяти машины командой

clear имя1 имя2 …

удаляющей из Рабочего пространства переменные с именами имя1 и имя2. Чтобы удалить сразу все переменные, нужно использовать команду

clear

Если Вы не знаете или сомневаетесь, какие переменные остались в Рабочем пространстве, Вы всегда можете выполнить команду

who

 
 

которая выведет список всех переменных, входящих на данный момент в Рабочее пространтсво системы MATLAB (смотри следующий рисунок).

 

 
 

Для просмотра значения любой переменной из текущего Рабочего пространства достаточно набрать её имя и нажать клавишу ENTER.

 

После закрытия сеанса работы MATLABа все переменные, вычисленные в течение сеанса, теряются. Однако их можно сохранить для последующего использования в иных сеансах, сохранив содержимое Рабочего пространтсва в файле на диске командой меню

File | Save Workspace As…

после чего появляется стандартное диалоговое окно операционной системы Windows для выбора каталога на диске и имени файла. Расширение имени файла должно быть mat. Такие файлы будем называть MAT-файлами.

Вместо команды меню можно набрать команду

save путь_к_файлу\имя_MAT-файла

непосредственно в командном окне MATLABа.

В новых сеансах системы MATLAB вы можете восстановить ранее сохранённое на диске Рабочее пространство командой меню

File | Load Workspace…

после которой Вы в стандартном диалоговом окне указываете нужный MAT-файл.

Более того, выполнив эту команду несколько раз с разными файлами, мы можем соединить в текущем Рабочем пространстве системы MATLAB содержимое нескольких предыдущих сеансов работы! Однако, если имена переменных из разных сеансов совпадают, то в текущем Рабочем пространстве будет представлена лишь переменная из последнего открытого MAT-файла.

Вместо команды меню можно набрать команду

load имя_MAT-файла

непосредственно в командном окне MATLABа. Можно также из записанного на диске MAT-файла считать в Рабочее пространство значения отдельных переменных. Для этого нужно выполнить команду

load имя_MAT-файла имя1, имя2, …

В результате из указанного MAT-файла будут считаны переменные с именами имя1, имя2 и т. д. При этом, если MAT-файл указан без полного пути к нему, то он должен находиться в текущем каталоге системы MATLAB, который всегда можно узнать с помощью команды

cd

Изменить текущий каталог можно командой

cd путь_к_новому_каталогу

4. Элементарные математические функции.В системе MATLAB присутствуют все основные элементарные функции: степенные, показательные, тригонометрические и обратные к ним. Любая функция характеризуется своим именем, списком входных аргументов (перечисляются через запятую и стоят внутри круглых скобок, следующих за именем функции) и вычисляемым (выходным) значением.

Сначала рассмотрим логическую функцию xor, дополняющую ранее рассмотренный набор логических операций. Эта функция имеет два входных аргумента и вычисляет над ними операцию "исключающее ИЛИ", которая вырабатывает единицу ("истину") только в случае, когда один из числовых аргументов истинен (не равен нулю), а другой ложен (равен нулю). Например,

a=1; b=0;

xor( a, b )

ans =

а если оба аргумента "истинны " или оба "ложны", то эта функция вырабатывает нуль:

a=1; b=1;

xor( a, b )

ans =

Помимо операции возведения в степень, реализуемой с помощью знака ^, есть ещё функция извлечения квадратного корня sqrt, функция exp для возведения в степень числа e, функция pow2 для возведения в степень числа 2. Также присутствуют обратные к ним функции: log - натуральный логарифм, log10 - логарифм по сонованию 10, log2 - логарифм по сонованию 2. В системе MATLAB можно быстро получить справочную информацию по любой элементорной функции, выполнив команду

help имя_функции

Тригонометрические функции представлены весьма полно: sin, cos, tan (тангенс), cot (котангенс), asin (арктангенс), acos (арккосинус), atan (арктангенс), acot (арккотангенс). Имеются также и менее употребительные функции типа секанса, косеканса и т. д., а также гиперболические функции (являются комбинацией экспонент).

Для примера, вычислим выражение 2 * asin( 1 ),включающее вычисление функции asin, и получим следующий результат:

ans =

3.1416

соответствующий числу ¶. В системе MATLAB для числа ¶ есть специальное обозначение pi.

Упомянем ещё функции, связанные с целочисленной арифметикой. Например, функции округления: round (округление до ближайшего целого), fix (усечение дробной части числа), floor (округление до меньшего целого), ceil (округление до большего целого).

Кроме того, есть ещё функции mod (остаток от деления с учётом знака), rem (остаток в смысле модульной арифметики), sign (знак числа), factor (разложение числа на простые множители), isprime (истинно, если число простое), primes (формирование списка простых чисел), rat (приближение числа в виде рациональной дроби), lcm (наименьшее общее кратное), gcd (наибольший общий делитель).

Функции mod и rem дают одинаковый результат для положительных аргументов. В частности,

mod( 7, 2 ) == rem( 7, 2 ) == 1

Но для операций с аргументами разных знаков они вырабатывают разные значения:

mod( -7, 2 ) = 1 ; rem( -7, 2 ) = -1

В общем случае эти функции связаны с функциями округления следующим образом:

rem( x, y ) == x - y * fix( x / y )

mod( x, y ) == x - y * floor( x / y )

И, наконец, есть функции, вычисляющие некоторые стандартные результаты из комбинаторики: функция perms вычисляет число перестановок, а функция nchoosek - число сочетаний. Например, число сочетаний из 10 по 3 легко находится вызовом функции:

 
 

Многие из перечисленных функций имеют область определения, отличную от множества всех действительных чисел R. В случаях, когда для функции задаётся недопустимое значение аргумента, или совершается попытка выполнить недопустимую операцию, мы получаем предупреждающее сообщение, например

Warning: Divide by zero.

при попытке деления на нуль. А в качестве результата выводится

ans =

Inf

где Inf символизирует бесконечность. Тот же результат получается при попытке вычислить логарифм от нуля.

Однако, чаще всего, при задании аргумента, выходящего за область определения функции действительного переменного (например, отрицательный аргумент для квадратного корня) система MATLAB автоматически выходит в область комплексных чисел, и вычисляет значение аналогичной комплексной функции.

 
 

5. Комплексные вычисления в системе MATLAB. При вычислении функции sqrt( -1 ) порождается комплексное число:

Как мы видим из рисунка, мнимая единица в системе MATLAB обозначается традиционной для математической литературы буквой i. Помимо этого для мнимой единицы в MATLABе зарезервирована ещё и буква j. Лучще не использовать эти буквы для других целей во избежание собственной путаницы.

В случае переменных нельзя писать просто x + iy , а нужно обязательно использовать знак умножения, то есть x + i * y.

Почти все элементарные функции допускают вычисления с комплексными аргументами. Например:

res = sin( 2 + 3i ) * atan( 4i ) / ( 1 - 6i )

res=

-1.8009 - 1.9190i

Теперь мы можем проверить знаменитую формулу Эйлера:

exp( i*x ) = cos( x ) + i * sin( x )

Придавая вещественной переменной x различные значения, вычисляем выражения из правой и левой частей этой формулы. Например, при x = 1 имеем как для левого, так и для правого выражения одно и то же значение: 0.5403 + 0.8415i. Для x = 2 обе стороны этого равенства дают снова одинаковый результат -0.4161 + 0.9093i, и так далее.

 
 

Но в очевидных случаях о комплексных аргументах не может быть и речи:

 

Специально для работы с комплексными числами предназначены следующие функции: abs (абсолютное значение комплексного числа), conj (комплексно сопряжённое число), imag (мнимая часть комплексного числа), real (действительная часть комплексного числа), angle (аргумент комплексного числа), isreal (истина, если число действительное).

Заметим, что никаких специальных соглашений об именах комплекснозначных переменных и комплексных функций не существует. Переменные не требуют никакого предварительного описания (объявления). Все вычисления перетекают из вещественной области в комплексную абсолютно автоматически. Это происходит при задании комплексных операндов (используются зарезервированные имена i или j для комплексной единицы) или при невозможности ограничиться лишь дествительными вычислениями (как в случае вычисления функции sqrt( -1 )).

Итак, система MATLAB может прозрачно для пользователя перейти от вычислений с действительными числами к вычислениям с комплексными числами. Кроме того, MATLAB может производить вычисления с набором вещественных (или комплексных) чисел почти так же, как и с одиночными числами. В этом состоит одна из самых характерных особенностей системы MATLAB.

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

Сначала рассмотрим одномерные массивы. Это линейные наборы чисел (элементов), в которых позиция каждого элемента задаётся единственным числом - его номером. Можно говорить о первом элементе массива, о втором и т. д.

Для задания одномерного массива, состоящего из нескольких чисел (вещественных или комплексных), используется операция конкатенации, обозначаемая с помощью квадратных скобок - []. Например, следующее выражение

a1 = [ 1 2 3 ]

формирует переменную с именем a1, являющуюся одномерным массивом из трёх элементов (вещественных чисел). Объединяемые в массив элементы должны отделяться друг от друга либо пробелом, либо запятой. Так что выражение

a1 = [ 1, 2, 3 ]

абсолютно идентично предыдущему.

Для доступа к индивидуальному элементу одномерного массива нужно после его имени указать в круглых скобках индекс (номер) этого элемента. Например, третий элемент массива a1 обозначается как a1(3), первый элемент - как a1(1), второй элемент - как a1(2).

Если требуется изменить третий элемент уже сформированного выше операцией конкатенации массива a1, то можно применить операцию присваивания:

a1(3) = 789

Пусть, к примеру, второй элемент массива a1 должен стать равным среднему арифметическому первого и третьего элементов. Для этого выполняем следующее действие:

a1(2) = ( a1(1) + a1(3) ) / 2

Количество элементов в одномерном массиве всегда можно узнать с помощью функции length:

length( a1 )

ans =

 
 

При попытке чтения несуществующего элемента (напрмер, четвёртого элемента массива a1) в командном окне MATLABа появляется сообщение об ошибке:

 

В этом сообщении утверждается, что индекс превысил размер массива.

В то же время запись несуществующего элемента вполне допустима - она означает добавление нового элемента к уже существующему массиву:

a1(4) = 7

Применяя к массиву a1 функцию length, находим, что количество элементов в этом массиве возросло до четырёх:

length( a1 )

ans =

То же самое действие - "удлинение массива a1" ,можно выполнить и с помощью операции конкатенации:

a1 = [ a1 7 ]

Здесь операндами операции конкатенации являются массив a1, состоящий из трёх элементов, и добавляемый к нему четвёртый элемент, равный 7.

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

a2(1) = 67

a2(2) = 7.8

a2(3) = 0.017

Из двух существующих массивов - массива a1 с четырьмя элементами и массива a2 с тремя элементами, можно одной (групповой) операцией конкатенации создать одномерный массив b из семи элементов:

b = [ a1, a2 ]

Массивы могут состоять не только из вещественных чисел. Выражение

d = [ 1+2i, 2+3i, 3-7i ]

формирует одномерный массив d комплексных чисел. Разделителем элементов формируемого одномерного массива может быть либо пробел, либо запятая. При использовании выражений и комплексных чисел использование запятой предпочтительнее.

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

 
 

Двумерный массив характеризуется количеством строк и количеством столбцов. Составим массив a3, состоящий из двух столбцов и трёх строк:

 

Из этого рисунка хорошо видно, что в качестве разделителя строк в формируемом с помощью операции конкатенации двумерном массиве служит точка с запятой.

Как и в случае одномерных массивов двумерный массив можно создать, индивидуально прописывая его элементы:

a3(1,1) = 1

a3(1,2) = 2

a3(2,1) = 3

a3(2,2) = 4

a3(3,1) = 5

a3(3,2) = 6

Для доступа к отдельным элементам двумерного массива используется выражение с круглыми скобками, в которых через запятую перечисляются его индексы. Первым указывается номер строки, вторым - номер столбца.

Система MATLAB может работать и с массивами больших размерностей. Они будут рассматриваться позже в следующем разделе.

Вернёмся к двумерным массивам, которые в математике принято называть матрицами. Любая строка матрицы является одномерным массивом, и любой столбец матрицы также является одномерным массивом. Однако есть некоторая разница в упорядочении их элементов с точки зрения матриц: элементы первого одномерного массива упорядочены вдоль строк матрицы (горизонтально), а элементы второго - вдоль столбцов (вертикально). Если явно учитывать в понятии одномерного массива эту разницу, то тогда массивы первого типа называют вектор-строками, а второго типа - вектор-столбцами. В этом случае также можно считать, что вектор-строки являются частным случаем матрицы с количеством строк, равным единице, а вектор-столбцы являются частным случаем матрицы с количеством столбцов, равным единице.



Просмотров 1446

Эта страница нарушает авторские права




allrefrs.su - 2025 год. Все права принадлежат их авторам!