Как возвести в степень в матлабе
Пользователь
Регистрация: 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 |
Возведение в степень.

Народ, помогите! с матлабом только знакомлюсь, надо до пятницу в основах разобраться. В операциях с матрицами вроде разобрался. Теперь хочу вот что.
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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.