Info

This question is closed. Reopen it to edit or answer.

方程式の複数の解をそれぞれ別の文字に代入する方法

1 view (last 30 days)
maro_ta
maro_ta on 6 Oct 2020
Closed: MATLAB Answer Bot on 20 Aug 2021
方程式を数値的に解いた場合の複数の解に対し,例えば小さい順にそれぞれa,b,c...というように与えるには,解をどのように扱えば良いのでしょうか.
よろしくおねがいします.
  1 Comment
Shota Kato
Shota Kato on 10 Oct 2020
eval関数を用いることで,文字列で与えたコマンドを実行する事ができます.
方程式の解がどのような形式で保存されているかわかりませんが,
X = [10, 5, 1, 20]というようにベクトルで表されているとします.
以下のように書けばXを小さい順にa, b, c, dに与えることができます.
X = [10, 5, 1, 20];
X_sorted = sort(X);
var_list = ['a'; 'b'; 'c'; 'd'];
% アルファベット順の変数名のリストを作成したい場合,以下を使用.
% var_list = char(double('a') + [1:length(X)]');
for i = 1:length(X)
eval(char(double('a') + i - 1) + "=X_sorted(i);")
end
ただ,eval関数は好ましくない(https://jp.mathworks.com/help/matlab/matlab_prog/string-evaluation.html)ので,別の方法で代替することをおすすめします.

Answers (0)

Community Treasure Hunt

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

Start Hunting!