Как умножить массив на число с
Argument ‘Topic id’ is null or empty
Сейчас на форуме
© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru
Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
| ООО «Планета Эксел» ИНН 7735603520 ОГРН 1147746834949 |
ИП Павлов Николай Владимирович ИНН 633015842586 ОГРНИП 310633031600071 |
Как умножить массив на число с
Двумерные матрицы в электронной таблице могут быть представлены массивами значений их элементов, записанных в двумерных диапазонах. Чтобы умножить матрицу на какое-либо число, нужно умножить каждый элемент этой матрицы на это число. Иначе говоря, следует умножить массив, содержащий элементы матрицы на число. В MS Excel для выполнения операции умножения матрицы на число можно применить соответствующие формулы.
Рассмотрим технологию умножения матрицы на число на примере.
Пример 3. Пусть необходимо умножить матрицу А= на число 4, иначе говоря, получить матрицу С= А х 4.
Решение:
1. В ячейки рабочего листа введите элементы матрицы (например в диапазон А2: B3, см. рис. 4).
2. Выделите диапазон, в который будет помещаться результирующая матрица, например D2:E3.
3. В выделенный диапазон введите формулу: = А2: B3*4
4. Нажмите комбинацию клавиш Ctrl + Shift + Enter (такая комбинация указывает, что должна быть выполнена операция с массивом ячеек). После выполнения операций в диапазоне ячеек D2:C3 будут помещены результаты вычислений
Рисунок 4
times , .*
C = A .* B умножает массивы A и B путем умножения соответствующих элементов. Размеры A и B должен быть то же самое или быть совместимым.
Если размеры A и B совместимы, затем эти два массива неявно расширяются, чтобы совпадать друг с другом. Например, если один из A или B скаляр, затем скаляр объединен с каждым элементом другого массива. Кроме того, векторы с различными ориентациями (один вектор-строка и один вектор-столбец) неявно расширяются, чтобы сформировать матрицу.
C = times( A , B ) альтернативный путь состоит в том, чтобы выполнить A.*B , но редко используется. Это позволяет выполнить перегрузку оператора для классов.
Примеры
Умножение двух векторов
Создайте два вектора, A и B , и умножьте их поэлементно.
A = [1 0 3]; B = [2 3 7]; C = A.*B
C = 1×3 2 0 21
Умножение двух массивов
Создайте два массива 3х3, A и B , и умножьте их поэлементно.
A = [1 0 3; 5 3 8; 2 4 6]; B = [2 3 7; 9 1 5; 8 8 3]; C = A.*B
C = 3×3 2 0 21 45 3 40 16 32 18
Умножение векторов строки и столбца
Создайте вектор-строку a и вектор-столбец b , затем умножьте их. 1 3 вектор-строка и 4 1 вектор-столбец объединяются, чтобы произвести 4 3 матрица.
a = 1:3; b = (1:4)'; a.*b
ans = 4×3 1 2 3 2 4 6 3 6 9 4 8 12
Результат 4 3 матрица, где каждый (i, j) элемент в матрице равен a(j).*b(i) :
a = [ a 1 a 2 a 3 ] , b = [ b 1 b 2 b 3 b 4 ] , a . * b = [ a 1 b 1 a 2 b 1 a 3 b 1 a 1 b 2 a 2 b 2 a 3 b 2 a 1 b 3 a 2 b 3 a 3 b 3 a 1 b 4 a 2 b 4 a 3 b 4 ] .
Входные параметры
A B — Операнды
скаляры | векторы | матрицы | многомерные массивы
Операнды в виде скаляров, векторов, матриц или многомерных массивов. Входные параметры A и B должен или быть одного размера или иметь размеры, которые совместимы (например, A M — N матрица и B скаляр или 1 — N вектор-строка). Для получения дополнительной информации см. «Совместимые размеры массивов для основных операций».
- Операнды с целочисленным типом данных не могут быть комплексными.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | categorical | duration | calendarDuration
Поддержка комплексного числа: Да
Вопросы совместимости
Изменение неявного расширения влияет на аргументы для операторов
Поведение изменяется в R2016b
При запуске в R2016b со сложения неявного расширения некоторые комбинации аргументов для основных операций, которые ранее возвратили ошибки теперь, приводят к результатам. Например, вы ранее не могли добавить строку и вектор-столбец, но те операнды теперь допустимы для сложения. Другими словами, выражение как [1 2] + [1; 2] ранее возвращенный ошибка несоответствия размера, но теперь это выполняется.
Если ваш код использует поэлементные операторы и использует ошибки что MATLAB ® ранее возвращенный для несовпадающих размеров, особенно в a try / catch блокируйтесь, затем ваш код больше не может фиксировать те ошибки.
Для получения дополнительной информации о необходимых входных размерах для основных операций над массивами смотрите Совместимые Размеры Массивов для Основных Операций.
Изменение неявного расширения влияет на calendarDuration категориальный , и duration массивы
Поведение изменяется в R2020b
Начиная в R2020b, times неявное расширение поддержек, когда аргументами является calendarDuration категориальный , или duration массивы. Между R2020a и R2016b, неявное расширение поддерживалось только для типов числовых данных.
Расширенные возможности
«Высокие» массивы
Осуществление вычислений с массивами, которые содержат больше строк, чем помещается в памяти.
Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.
Указания и ограничения по применению:
- Умножение чистых мнимых чисел неличными числами не может совпадать с MATLAB. Генератор кода не специализирует умножение чистыми мнимыми числами — это не устраняет вычисления с нулевой действительной частью. Например, (Inf + 1i)*1i = (Inf*0 – 1*1) + (Inf*1 + 1*0)i = NaN + Infi .
- Если вы используете times с одним типом и дважды вводят операнды, сгенерированный код не может привести к тому же результату как MATLAB. Смотрите Бинарные Поэлементные Операции с Одним и Двойными Операндами (MATLAB Coder) .
Генерация кода графического процессора
Сгенерируйте код CUDA® для NVIDIA® графические процессоры с помощью GPU Coder™.
Указания и ограничения по применению:
- Умножение чистых мнимых чисел неличными числами не может совпадать с MATLAB. Генератор кода не специализирует умножение чистыми мнимыми числами — это не устраняет вычисления с нулевой действительной частью. Например, (Inf + 1i)*1i = (Inf*0 – 1*1) + (Inf*1 + 1*0)i = NaN + Infi .
Генерация HDL-кода
Сгенерируйте Verilog и код VHDL для FPGA и проекты ASIC с помощью HDL Coder™.
Входные параметры не могут быть типом данных logical .
Основанная на потоке среда
Запустите код в фоновом режиме с помощью MATLAB® backgroundPool или ускорьте код с Parallel Computing Toolbox™ ThreadPool .
Эта функция полностью поддерживает основанные на потоке среды. Для получения дополнительной информации смотрите функции MATLAB Запуска в Основанной на потоке Среде.
Массивы графического процессора
Ускорьте код путем работы графического процессора (GPU) с помощью Parallel Computing Toolbox™.
Указания и ограничения по применению:
- 64-битные целые числа не поддерживаются.
Для получения дополнительной информации смотрите функции MATLAB Запуска на графическом процессоре (Parallel Computing Toolbox) .
Распределенные массивы
Большие массивы раздела через объединенную память о вашем кластере с помощью Parallel Computing Toolbox™.
Эта функция полностью поддерживает распределенные массивы. Для получения дополнительной информации смотрите функции MATLAB Запуска с Распределенными Массивами (Parallel Computing Toolbox) .
Умножение элементов массива js
Eсть такой массив: [5, 123, 556, 78, 3] . Kак умножить все элементы массива? B смысле так 5 * 123 * 556 * 78 * 3 .
Отслеживать
10.4k 21 21 золотой знак 25 25 серебряных знаков 53 53 бронзовых знака
задан 30 дек 2020 в 17:19
Мне без сахара Мне без сахара
706 1 1 золотой знак 5 5 серебряных знаков 15 15 бронзовых знаков
попробуйте решить это сами, используйте reduce
30 дек 2020 в 17:23
3 ответа 3
Сортировка: Сброс на вариант по умолчанию
Если я правильно поняла вопрос то можно использовать reduce . Так получится
const array = [5, 123, 556, 78, 3]; const res = array.reduce((acc, rec) => acc * rec); console.log(res);
Отслеживать
2,408 4 4 золотых знака 15 15 серебряных знаков 33 33 бронзовых знака
ответ дан 30 дек 2020 в 17:23
91 1 1 бронзовый знак
я так понял «array» это имя массива и rec это элемент массива, а что такое acc?
30 дек 2020 в 17:31
array -это массив с которым нужно провести работу. rec — рессивер, элемент массива acc — аккумулятор, это результат предидущих иттераций.
30 дек 2020 в 17:33
@Мнебезсахара, acc, rec — это значения которые передаются внутрь функции reduce, о том какие параметры передаются можно узнать в документации.