using a variable to call another variable

2 views (last 30 days)
Hello all,
After doing analysis in some other software I get text files namely Eigen_1.txt, Eigen_2.txt.......Eigen_k.txt and each file is 4x4 matrix. I want to read each file, get the (1,3) value and assign it to variable T1_1, T1_2.......T1,k and then use this value to get omega1_1 and so on. I have used eval command which works fine, but is there any other way to solve this without using eval command.
for n = 1:k
temp = readmatrix(strcat('.\Results\Eigen_',num2str(n),'.txt'),'delimiter',' ');
eval(['T1_',num2str(n),'=temp(1,3)']);
eval(['omega1_',num2str(n),' = 6.2832/T1_',num2str(n),]);
end
  4 Comments

Sign in to comment.

Accepted Answer

Chunru
Chunru on 16 Sep 2022
Edited: Chunru on 16 Sep 2022
T1 = zeros(k, 1); % use array instead of T1_, T1_2, ...
omega1 = zeros(k, 1);
for n = 1:k
temp = readmatrix(strcat('.\Results\Eigen_',num2str(n),'.txt'),'delimiter',' ');
% eval(['T1_',num2str(n),'=temp(1,3)']);
% eval(['omega1_',num2str(n),' = 6.2832/T1_',num2str(n),]);
T1(n) = temp(1, 3);
omega1(n) = 2*pi/T1(n);
end

More Answers (0)

Categories

Find more on Get Started with MATLAB in Help Center and File Exchange

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!