質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
import

自身のプラットフォーム・プログラム・データセットに対して、外部ソースを取り込むプロセスをimportと呼びます。

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

解決済

2回答

3000閲覧

[Python]行列に対して、関数expは機能しない?

sabakan4040

総合スコア5

import

自身のプラットフォーム・プログラム・データセットに対して、外部ソースを取り込むプロセスをimportと呼びます。

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

0クリップ

投稿2020/10/19 13:22

前提・実現したいこと

Pythonを使っています。
とある配列exがあります。
exの情報は、型がArray of object。
サイズ(4,2)。値がnadarray object of numpy module です。
その中身は、
[[-1.0200000000000002 -1.1000000000000003]
[-1.1 -1.02]
[-1.02 -1.1]
[-1.1000000000000003 -1.0200000000000002]]
です。中身自体は本題ではないのですが、
いま、この中身の指数関数が欲しいです。
つまり、e^□の□に当たる部分が配列の各要素になるような計算がしたいです。

ですが、単にimport mathからmath.exp(ex)
と書いてもエラーが出ます。
TypeError: only size-1 arrays can be converted to Python scalars
どうやらexのサイズがいけないようです。
知っている方からしたらしょうもない質問かもしれないですが、教えていただけると助かります。

python3

1import numpy as np 2import math 3 4中略 5 6print(ex) 7[[-1.0200000000000002 -1.1000000000000003] 8 [-1.1 -1.02] 9 [-1.02 -1.1] 10 [-1.1000000000000003 -1.0200000000000002]] 11Z=math.exp(ex) 12 13print(Z) 14TypeError: only size-1 arrays can be converted to Python scalars

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

別解です。

print(np.exp(ex))

[[0.36059494 0.33287108]
[0.36787944 0.98019867]
[0.36059494 0.33287108]
[0.33287108 0.36059494]]

投稿2020/10/19 13:46

toast-uz

総合スコア3266

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sabakan4040

2020/10/19 13:49

npだといけるのか、、、? なんにせよありがとうございます。
sabakan4040

2020/10/19 13:53

これは自分の設定などに問題ありかもですが、print(np.exp(ex))に対しては TypeError: loop of ufunc does not support argument 0 of type float which has no callable exp methodが返されました。もし原因わかる方いらっしゃれば気長に待ちたい。
sabakan4040

2020/10/19 15:43

*1.0で直るんですね。なんかex自体が問題児っぽいですね
toast-uz

2020/10/19 22:04

私はこの現象は出ていません。Pythonとnumpyのバージョン教えてください。
guest

0

print((math.e)**ex)
[[0.36059494017307825 0.3328710836980795]
[0.33287108369807955 0.3605949401730783]
[0.3605949401730783 0.33287108369807955]
[0.3328710836980795 0.36059494017307825]]

で解決かな?
別解も知りたいです。

投稿2020/10/19 13:38

sabakan4040

総合スコア5

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問