Как возвести в степень в матлабе
Перейти к содержимому

Как возвести в степень в матлабе

  • автор:

Как возвести в степень в матлабе

Пользователь

Регистрация: 14.11.2008

Сообщений: 17

Возведение в степень в MatLab

Объясните, почему МатЛаб не может нормально возвести отрицательное число в дробную степень? Как мне это сделать? Ответ в комплексной форме меня пугает:

Manchester
Посмотреть профиль
Найти ещё сообщения от Manchester
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
возведение в степень [CODER] Assembler — Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 14.04.2014 10:18
Возведение в степень. Drakulov Свободное общение 30 01.03.2011 16:35
возведение в степень ILNARM Паскаль, Turbo Pascal, PascalABC.NET 16 16.10.2009 23:04
возведение в степень Lissisa Помощь студентам 1 21.03.2009 22:34
Возведение в степень Stanislav Общие вопросы Delphi 10 05.12.2007 23:34

Возведение в степень.

Author24 — интернет-сервис помощи студентам

Народ, помогите! с матлабом только знакомлюсь, надо до пятницу в основах разобраться. В операциях с матрицами вроде разобрался. Теперь хочу вот что.
X — значения от 1 до 10, сделать такой же набор y = x в квадрате.

делаю
X=1:10
Y=X^2 — пишет ошибку.
Как правильно сделать желаемую операцию?

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Возведение экспоненты в степень
Пытаюсь вычислить выражение 100*j*sqrt(2)*exp^(-j*pi/4) Выдает ошибку: Error using exp.

Ошибка в возведение в степень
function ret(x) n=10 % элементы g for k=0:1:n g(k)=(x)^k end endподскажите пожалуйста.

Возведение числа в дробную степень
Здравствуйте, столкнулся со следующей проблемой. function y=kub(x) y=x^(1/3); end function.

Возведение числа в степень за минимальное количество умножений, не используя возведение в степень (в чем ошибка?)
должно число подводиться в степень за минимальное кол умножения не используя возведение в степень.

power , .^

C = A .^ B возводит каждый элемент A к соответствующим степеням в B . Размеры A и B должен быть то же самое или быть совместимым.

Если размеры A и B совместимы, затем эти два массива неявно расширяются, чтобы совпадать друг с другом. Например, если один из A или B скаляр, затем скаляр объединен с каждым элементом другого массива. Кроме того, векторы с различными ориентациями (один вектор-строка и один вектор-столбец) неявно расширяются, чтобы сформировать матрицу.

C = power( A , B ) альтернативный путь состоит в том, чтобы выполнить A.^B , но редко используется. Это позволяет выполнить перегрузку оператора для классов.

Примеры

Квадрат каждый элемент вектора

Создайте вектор, A , и квадрат каждый элемент.

A = 1:5; C = A.^2
C = 1×5 1 4 9 16 25

Нахождение инверсии каждого элемента матрицы

Создайте матрицу, A , и возьмите инверсию каждого элемента.

A = [1 2 3; 4 5 6; 7 8 9]; C = A.^-1
C = 3×3 1.0000 0.5000 0.3333 0.2500 0.2000 0.1667 0.1429 0.1250 0.1111

Инверсия элементов не равна инверсии матрицы, которая является вместо этого записанным A^-1 или inv(A) .

Вектор-строка к степени вектор-столбца

Создайте вектор 1 на 2 строки и вектор-столбец 3 на 1 и возведите вектор-строку в степень из вектор-столбца.

a = [2 3]; b = (1:3)'; a.^b
ans = 3×2 2 3 4 9 8 27

Результатом является 3-на-2 матрица, где каждый (i, j) элемент в матрице равен a (j) .^ b(i) :

a = [ a 1 a 2 ] , b = [ b 1 b 2 b 3 ] , a . ˆ b = [ a 1 b 1 a 2 b 1 a 1 b 2 a 2 b 2 a 1 b 3 a 2 b 3 ] .

Нахождение корней номера

Вычислите корни -1 к 1/3 степень.

A = -1; B = 1/3; C = A.^B
C = 0.5000 + 0.8660i

Для отрицательного основного A и нецелое число B , power функция возвращает комплексные результаты.

Используйте nthroot функция, чтобы получить действительные корни.

C = nthroot(A,3)
C = -1

Входные параметры

A B — Операнды
скаляры | векторы | матрицы | многомерные массивы

Операнды в виде скаляров, векторов, матриц или многомерных массивов. A и B должен или быть одного размера или иметь размеры, которые совместимы (например, A M — N матрица и B скаляр или 1 — N вектор-строка). Для получения дополнительной информации см. «Совместимые размеры массивов для основных операций».

  • Операнды с целочисленным типом данных не могут быть комплексными.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char
Поддержка комплексного числа: Да

Больше о

Податливость IEEE

Для действительных входных параметров, power имеет несколько поведений, которые отличаются от рекомендуемых в IEEE ® — 754 Стандарта.

Вопросы совместимости

Изменение неявного расширения влияет на аргументы для операторов

Поведение изменяется в R2016b

При запуске в R2016b со сложения неявного расширения некоторые комбинации аргументов для основных операций, которые ранее возвратили ошибки теперь, приводят к результатам. Например, вы ранее не могли добавить строку и вектор-столбец, но те операнды теперь допустимы для сложения. Другими словами, выражение как [1 2] + [1; 2] ранее возвращенный ошибка несоответствия размера, но теперь это выполняется.

Если ваш код использует поэлементные операторы и использует ошибки что MATLAB, ранее возвращенный для несовпадающих размеров, особенно в a try / catch блокируйтесь, затем ваш код больше не может фиксировать те ошибки.

Для получения дополнительной информации о необходимых входных размерах для основных операций над массивами смотрите Совместимые Размеры Массивов для Основных Операций.

Расширенные возможности

«Высокие» массивы
Осуществление вычислений с массивами, которые содержат больше строк, чем помещается в памяти.

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Указания и ограничения по применению:

  • Когда оба X и Y действительны, но power(X,Y) является комплексным, симуляция производит код ошибки, и сгенерированный код возвращает NaN . Чтобы получить комплексный результат, сделайте входное значение X комплекс путем передачи в complex(X) . Например, power(complex(X),Y) .
  • Когда оба X и Y действительны, но X .^ Y является комплексным, симуляция производит код ошибки, и сгенерированный код возвращает NaN . Чтобы получить комплексный результат, сделайте входное значение X комплекс при помощи complex(X) . Например, complex(X).^Y .
  • Генерация кода не поддерживает входные параметры разреженной матрицы для этой функции.

Генерация кода графического процессора
Сгенерируйте код CUDA® для NVIDIA® графические процессоры с помощью GPU Coder™.

Указания и ограничения по применению:

  • Когда оба X и Y действительны, но power(X,Y) является комплексным, симуляция производит код ошибки, и сгенерированный код возвращает NaN . Чтобы получить комплексный результат, сделайте входное значение X комплекс путем передачи в complex(X) . Например, power(complex(X),Y) .
  • Когда оба X и Y действительны, но X .^ Y является комплексным, симуляция производит код ошибки, и сгенерированный код возвращает NaN . Чтобы получить комплексный результат, сделайте входное значение X комплекс при помощи complex(X) . Например, complex(X).^Y .
  • Генерация кода не поддерживает входные параметры разреженной матрицы для этой функции.

Генерация HDL-кода
Сгенерируйте Verilog и код VHDL для FPGA и проекты ASIC с помощью HDL Coder™.

Оба входных параметров должны быть скаляром, и входом экспоненты, k , должно быть целое число.

Основанная на потоке среда
Запустите код в фоновом режиме с помощью MATLAB® backgroundPool или ускорьте код с Parallel Computing Toolbox™ ThreadPool .

Эта функция полностью поддерживает основанные на потоке среды. Для получения дополнительной информации смотрите функции MATLAB Запуска в Основанной на потоке Среде.

Массивы графического процессора
Ускорьте код путем работы графического процессора (GPU) с помощью Parallel Computing Toolbox™.

Указания и ограничения по применению:

  • 64-битные целые числа не поддерживаются.

Для получения дополнительной информации смотрите функции MATLAB Запуска на графическом процессоре (Parallel Computing Toolbox) .

Распределенные массивы
Большие массивы раздела через объединенную память о вашем кластере с помощью Parallel Computing Toolbox™.

Эта функция полностью поддерживает распределенные массивы. Для получения дополнительной информации смотрите функции MATLAB Запуска с Распределенными Массивами (Parallel Computing Toolbox) .

Смотрите также

Темы

  • Массив по сравнению Матричные операции
  • Приоритет операторов
  • Операторы MATLAB и специальные символы

Представлено до R2006a

Открытый пример

У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?

Документация MATLAB

Поддержка

  • MATLAB Answers
  • Помощь в установке
  • Отчеты об ошибках
  • Требования к продукту
  • Загрузка программного обеспечения

© 1994-2021 The MathWorks, Inc.

  • Условия использования
  • Патенты
  • Торговые марки
  • Список благодарностей

Для просмотра документации необходимо авторизоваться на сайте
Войти
Памятка переводчика

1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.

2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.

3. Сохраняйте структуру оригинального текста — например, не разбивайте одно предложение на два.

4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.

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

степень.^

C = A .^ B возводит каждый элемент A к соответствующей степени в B .

C = power( A , B ) альтернативный путь состоит в том, чтобы выполнить A.^B , но редко используется. Это позволяет выполнить перегрузку оператора для классов.

Примеры

Квадрат каждый элемент вектора

Создайте вектор, A и квадрат каждый элемент.

A = 1:5; C = A.^2
C = 1×5 1 4 9 16 25

Нахождение инверсии каждого элемента матрицы

Создайте матрицу, A , и возьмите инверсию каждого элемента.

A = [1 2 3; 4 5 6; 7 8 9]; C = A.^-1
C = 3×3 1.0000 0.5000 0.3333 0.2500 0.2000 0.1667 0.1429 0.1250 0.1111

Инверсия элементов не равна инверсии матрицы, которая является вместо этого записанным A^-1 или inv(A) .

Нахождение корней номера

Вычислите корни -1 к степени 1/3 .

A = -1; B = 1/3; C = A.^B
C = 0.5000 + 0.8660i

Для отрицательного основного A и нецелого числа B , если abs(B) является меньше, чем 1 , функция power , возвращает комплексные корни A .

Используйте функцию nthroot , чтобы получить действительные корни.

C = nthroot(A,3)
C = -1

Входные параметры

A Основа
скаляр | вектор | матрица | многомерный массив

Основа, заданная как скаляр, вектор, матрица или многомерный массив. Входные параметры A и B должны или быть одного размера или иметь размеры, которые совместимы (например, A является M -by- N матрица, и B является скаляром или 1 -by- N вектор — строка). Для получения дополнительной информации см. «Совместимые размеры массивов для основных операций».

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char
Поддержка комплексного числа: Да

B Экспонента
скаляр | вектор | матрица | многомерный массив

Экспонента, заданная как скаляр, вектор, матрица или многомерный массив. Входные параметры A и B должны или быть одного размера или иметь размеры, которые совместимы (например, A является M -by- N матрица, и B является скаляром или 1 -by- N вектор — строка). Для получения дополнительной информации см. «Совместимые размеры массивов для основных операций».

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char
Поддержка комплексного числа: Да

Больше о

Соответствие IEEE

Для действительных входных параметров power имеет несколько поведений, которые отличаются от рекомендуемых в Стандарте IEEE ® -754.

Расширенные возможности

«Высокие» массивы
Осуществление вычислений с массивами, которые содержат больше строк, чем помещается в памяти.

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Указания и ограничения по применению:

  • Когда и X и Y действительны, но power(X,Y) является комплексным, симуляция производит код ошибки, и сгенерированный код возвращает NaN . Чтобы получить комплексный результат, сделайте входное значение комплексом X путем передачи в complex(X) . Например, power(complex(X),Y) .
  • Когда и X и Y действительны, но X .^ Y является комплексным, симуляция производит код ошибки, и сгенерированный код возвращает NaN . Чтобы получить комплексный результат, сделайте входное значение комплексом X при помощи complex(X) . Например, complex(X).^Y .
  • Генерация кода не поддерживает входные параметры разреженной матрицы для этой функции.

Массивы графического процессора
Ускорьте код путем работы графического процессора (GPU) с помощью Parallel Computing Toolbox™.

Указания и ограничения по применению:

  • 64-битные целые числа не поддержаны.

Для получения дополнительной информации смотрите функции MATLAB Выполнения на графическом процессоре (Parallel Computing Toolbox).

Распределенные массивы
Большие массивы раздела через объединенную память о вашем кластере с помощью Parallel Computing Toolbox™.

Эта функция полностью поддерживает распределенные массивы. Для получения дополнительной информации смотрите функции MATLAB Выполнения с Распределенными Массивами (Parallel Computing Toolbox).

Смотрите также

Темы

  • Массив по сравнению Матричные операции
  • Приоритет операторов
  • Операторы MATLAB и специальные символы
Представлено до R2006a
Документация MATLAB
Поддержка
  • MATLAB Answers
  • Помощь в установке
  • Отчеты об ошибках
  • Требования к продукту
  • Загрузка программного обеспечения

© 1994-2019 The MathWorks, Inc.

  • Условия использования
  • Патенты
  • Торговые марки
  • Список благодарностей

Для просмотра документации необходимо авторизоваться на сайте
Войти
Памятка переводчика

1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.

2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.

3. Сохраняйте структуру оригинального текста — например, не разбивайте одно предложение на два.

4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *