Info

此问题已关闭。 请重新打开它进行编辑或回答。

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

1 次查看(过去 30 天)
maro_ta
maro_ta 2020-10-6
关闭: MATLAB Answer Bot 2021-8-20
方程式を数値的に解いた場合の複数の解に対し,例えば小さい順にそれぞれa,b,c...というように与えるには,解をどのように扱えば良いのでしょうか.
よろしくおねがいします.
  1 个评论
Shota Kato
Shota Kato 2020-10-10
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)ので,別の方法で代替することをおすすめします.

回答(0 个)

Community Treasure Hunt

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

Start Hunting!