Azzera filtri
Azzera filtri

べき乗の変換について

3 visualizzazioni (ultimi 30 giorni)
Hiroki Takeda
Hiroki Takeda il 25 Mag 2022
Commentato: Hiroki Takeda il 27 Mag 2022
変数A=[-0.2;-0.1;-7.1;8.2]と入っています。
変数Bは、<undefined>、<undefined>、E-02、E-03のように、べき乗のものとそうでないものがcategorical(文字)で入っています。
変数Cとして、C=[-0.2; -0.1; -7.1*10^{-2};8.2*10^{-3}];のようなものを取得したいと思っています。
つまり、<undefined>の場合は何もせず、E-02の時は*10^{-2}をかけるような処理をしたいと思っています。
if文でしょうか?このような場合、どのように書けばよろしいでしょうか。
教えていただけますと幸いです。ご教示のほど、どうぞよろしくお願いいたします。

Risposta accettata

Atsushi Ueno
Atsushi Ueno il 25 Mag 2022
A = [-0.2, -0.1, -7.1, 8.2]; % 変数A: 行ベクトル/列ベクトル共に要領は同じです
B = categorical({'', '', 'E-02', 'E-03'}) % 変数B: categorical(文字)
B = 1×4 categorical array
<undefined> <undefined> E-02 E-03
B(ismissing(B)) = 'E+00' % 変数Bの欠損値をE+00にする
B = 1×4 categorical array
E+00 E+00 E-02 E-03
B = double(1 + string(B)) % stringに変換→頭に1を付け"1E+00"の形に→数値に変換
B = 1×4
1.0000 1.0000 0.0100 0.0010
A .* B % 変数Aの要素毎に変数Bを掛ける
ans = 1×4
-0.2000 -0.1000 -0.0710 0.0082
  1 Commento
Hiroki Takeda
Hiroki Takeda il 27 Mag 2022
ご連絡いただきありがとうございます。
無事にうまくいきました。ありがとうございます。
またよろしくお願いいたします。

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su MATLAB in Help Center e File Exchange

Prodotti


Release

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!