에 문자열 요소의 값에 도달 :이 배열의이 같은 배열이 matlab에
vars = {'X1','X2'};
모든 요소가이 특별한 범위 등 : 내가 원하는 루프에서 지금
X1 = [0.5,11.0];
X2 = [0.15,8.55];
각 요소 값 (즉, X1 값은 [0.5,11.0])에 도달하려면 pls를 도와 줄 수 있습니까?
보다도, Elnaz
에 문자열 요소의 값에 도달 :이 배열의이 같은 배열이 matlab에
vars = {'X1','X2'};
모든 요소가이 특별한 범위 등 : 내가 원하는 루프에서 지금
X1 = [0.5,11.0];
X2 = [0.15,8.55];
각 요소 값 (즉, X1 값은 [0.5,11.0])에 도달하려면 pls를 도와 줄 수 있습니까?
보다도, Elnaz
를 호출 할 것 , 하나의 옵션은 을 사용하여 값을 얻는 것입니다 :
X1 = [1,2];
X2 = [3,4];
vars = {'X1','X2'};
for ii = 1:length(values)
vals{ii} = eval(vars{ii});
end
이 값은 변수 vals
에 값 (즉, vals = {[1,2], [3,4]}
)을 저장합니다.
그러나 eval
을 사용하는 것은 일반적으로 매우 나쁜 생각입니다. 당신이하고 싶은 것에 따라 아마도 그것을하는 더 좋은 방법이있을 것입니다. 예를 들어, 관심있는 변수를 셀 배열에 저장하거나 구조의 필드로 저장할 수 있습니다.
내가 당신이 원하는 무엇을 나는 확실 해요 구조에 모든 것을 저장,하지만 것 :
다음clc,clear all,close all
vars = {'X1','X2'};
X1 = [0.5,11.0];
X2 = [0.15,8.55];
res = struct(char(vars(1)),X1,char(vars(2)),X2
나는 잘
res.X1
res.X2
신속한 답장을 보내 주셔서 감사합니다. 실제로 나는 다음과 같은 것을 필요로합니다. res.char (vars (1)) – user2286747
루프를 사용하여 배열 요소의 값에 액세스해야합니다. 루프에서 나는 = aars = vars (i) b = vars (i) .value = a = X1과 b = [0.5,11.0]을 참조 할 수있다. – user2286747
또한 시도 할 수 있습니다 : 나는 암로의 대답 here에서 가져온
vars = {'X1','X2'};
X1 = [0.5,11.0];
X2 = [0.15,8.55];
vals = containers.Map(vars,{X1,X2});
vals('X1')
vals('X2')
. 다음은 결과물입니다.
ans =
0.5000 11.0000
ans =
0.1500 8.5500
첫 번째 또는 두 번째 또는 세 번째 항목의 값에 어떻게 도달 할 수 있습니까? 내 구조에? 즉, vars = { 'X1', 'X2', 'X3', 'X4', 'Y'}; X1 = [0.5,11.0]; X2 = [0.15,8.55]; X3 = [1.64, 142.5]; X4 = [1.0, 165.0]; Y = [64.470001,8546.030273]; res = struct (char (vars (1)), X1, char (vars (2)), X2, char (vars (3)), X3, ... char char (vars (5)), Y); *** 루프에서 a = X1 및 b = [0.5,11.0] c = X2 및 d = [0.15,8.55]에 도달해야합니다. – user2286747