変数内の行列を取り出​すためのfor構文を​作成したい。

27 次查看(过去 30 天)
HF
HF 2022-2-25
评论: HF 2022-3-1
aとbという行列の変数があります。この変数の1列目と2列目を取り出すfor構文を作成したいです。
nameにlistの文字列を入れても、変数として認識しないため何か方法はありますか?
list = ['a';'b']
num_list = size(list);
for i=1:1:num_list(1)
name = list(i)
t = name(:,1);
s = name(:,2);
end
  2 个评论
Hernia Baby
Hernia Baby 2022-2-25
これですとtとsが更新されます。情報は保持していなくてもいいのでしょうか?
HF
HF 2022-2-28
これをベースにtとsを別処理させるので、問題ございません。

请先登录,再进行评论。

采纳的回答

Atsushi Ueno
Atsushi Ueno 2022-2-25
a = ones(1,2);
b = zeros(1,2);
list = ['a';'b'];
num_list = size(list);
for i = 1:1:num_list(1)
name = list(i);
eval(['t = ', name, '(:,1)']);
eval(['s = ', name, '(:,2)']);
end
t = 1
s = 1
t = 0
s = 0
  3 个评论
Atsushi Ueno
Atsushi Ueno 2022-2-28
そのような場合には変数名のリストを行列からセル配列に変更します。セル配列は異なる型のデータを格納できる配列です。
aa = ones(1,2);
bbb = zeros(1,2);
list = {'aa';'bbb'}; % 角括弧[]を波括弧{}に変更した
num_list = size(list);
for i = 1:1:num_list(1)
name = list{i}; % 丸括弧()を波括弧{}に変更した
eval(['t = ', name, '(:,1)']);
eval(['s = ', name, '(:,2)']);
end
t = 1
s = 1
t = 0
s = 0
HF
HF 2022-3-1
ありがとうございます。
とても参考になりました。

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 MATLAB 的更多信息

标签

产品


版本

R2018b

Community Treasure Hunt

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

Start Hunting!