Dealing data with text and numerical in .txt file

2 visualizzazioni (ultimi 30 giorni)
Ismita
Ismita il 17 Feb 2024
Risposto: Star Strider il 17 Feb 2024
I have a txt file containing some data as follows: how to visualize using Matlab? I request your suggestions.
"k: 0.1, omega_real: 20001, omega_imag: 11283.8
k: 0.30101, omega_real: 2208.33, omega_imag: 1245.35
k: 0.50202, omega_real: 794.574, omega_imag: 447.726
k: 0.70303, omega_real: 405.652, omega_imag: 228.301
k: 0.90404, omega_real: 245.711, omega_imag: 138.064
k: 1.10505, omega_real: 164.782, omega_imag: 92.404
k: 1.30606, omega_real: 118.247, omega_imag: 66.1498
k: 1.50707, omega_real: 89.0568, omega_imag: 49.6807
k: 1.70808, omega_real: 69.5509, omega_imag: 38.6757
k: 1.90909, omega_real: 55.8753, omega_imag: 30.9601
k: 2.1101, omega_real: 45.9183, omega_imag: 25.3424
k: 2.31111, omega_real: 38.4445, omega_imag: 21.1258
k: 2.51212, omega_real: 32.6919, omega_imag: 17.8803
k: 2.71313, omega_real: 28.1699, omega_imag: 15.329
k: 2.91414, omega_real: 24.551, omega_imag: 13.2872"

Risposte (3)

Dyuman Joshi
Dyuman Joshi il 17 Feb 2024
%display the contents of the file
type data.txt
k: 0.1, omega_real: 20001, omega_imag: 11283.8 k: 0.30101, omega_real: 2208.33, omega_imag: 1245.35 k: 0.50202, omega_real: 794.574, omega_imag: 447.726 k: 0.70303, omega_real: 405.652, omega_imag: 228.301 k: 0.90404, omega_real: 245.711, omega_imag: 138.064 k: 1.10505, omega_real: 164.782, omega_imag: 92.404 k: 1.30606, omega_real: 118.247, omega_imag: 66.1498 k: 1.50707, omega_real: 89.0568, omega_imag: 49.6807 k: 1.70808, omega_real: 69.5509, omega_imag: 38.6757 k: 1.90909, omega_real: 55.8753, omega_imag: 30.9601 k: 2.1101, omega_real: 45.9183, omega_imag: 25.3424 k: 2.31111, omega_real: 38.4445, omega_imag: 21.1258 k: 2.51212, omega_real: 32.6919, omega_imag: 17.8803 k: 2.71313, omega_real: 28.1699, omega_imag: 15.329 k: 2.91414, omega_real: 24.551, omega_imag: 13.2872
%read the file
fID = fopen('data.txt')
fID = 3
%read the data in the given format - as the data is read in column order by fscanf,
%provide the dimensions i.e. 3 columns and all the rows, and transpose the final output
data = fscanf(fID, 'k: %f, omega_real: %f, omega_imag: %f\n', [3 Inf]).'
data = 15×3
1.0e+04 * 0.0000 2.0001 1.1284 0.0000 0.2208 0.1245 0.0001 0.0795 0.0448 0.0001 0.0406 0.0228 0.0001 0.0246 0.0138 0.0001 0.0165 0.0092 0.0001 0.0118 0.0066 0.0002 0.0089 0.0050 0.0002 0.0070 0.0039 0.0002 0.0056 0.0031
  2 Commenti
Dyuman Joshi
Dyuman Joshi il 17 Feb 2024
You're welcome!
If my answer solved your problem, please consider accepting the answer.

Accedi per commentare.


Stephen23
Stephen23 il 17 Feb 2024
T = readtable('data.txt', 'Delimiter',{' ',':',','}, 'MultipleDelimsAsOne',true)
T = 15×6 table
Var1 Var2 Var3 Var4 Var5 Var6 _____ _______ ______________ ______ ______________ ______ {'k'} 0.1 {'omega_real'} 20001 {'omega_imag'} 11284 {'k'} 0.30101 {'omega_real'} 2208.3 {'omega_imag'} 1245.3 {'k'} 0.50202 {'omega_real'} 794.57 {'omega_imag'} 447.73 {'k'} 0.70303 {'omega_real'} 405.65 {'omega_imag'} 228.3 {'k'} 0.90404 {'omega_real'} 245.71 {'omega_imag'} 138.06 {'k'} 1.1051 {'omega_real'} 164.78 {'omega_imag'} 92.404 {'k'} 1.3061 {'omega_real'} 118.25 {'omega_imag'} 66.15 {'k'} 1.5071 {'omega_real'} 89.057 {'omega_imag'} 49.681 {'k'} 1.7081 {'omega_real'} 69.551 {'omega_imag'} 38.676 {'k'} 1.9091 {'omega_real'} 55.875 {'omega_imag'} 30.96 {'k'} 2.1101 {'omega_real'} 45.918 {'omega_imag'} 25.342 {'k'} 2.3111 {'omega_real'} 38.444 {'omega_imag'} 21.126 {'k'} 2.5121 {'omega_real'} 32.692 {'omega_imag'} 17.88 {'k'} 2.7131 {'omega_real'} 28.17 {'omega_imag'} 15.329 {'k'} 2.9141 {'omega_real'} 24.551 {'omega_imag'} 13.287

Star Strider
Star Strider il 17 Feb 2024
I am not certain what you intend by ‘visualize’.
Perhaps this —
T1 = readtable('M I T 2024 02 17.txt', 'Delimiter',{',',':'})
T1 = 15×6 table
Var1 Var2 Var3 Var4 Var5 Var6 _____ _______ ______________ ______ ______________ ______ {'k'} 0.1 {'omega_real'} 20001 {'omega_imag'} 11284 {'k'} 0.30101 {'omega_real'} 2208.3 {'omega_imag'} 1245.3 {'k'} 0.50202 {'omega_real'} 794.57 {'omega_imag'} 447.73 {'k'} 0.70303 {'omega_real'} 405.65 {'omega_imag'} 228.3 {'k'} 0.90404 {'omega_real'} 245.71 {'omega_imag'} 138.06 {'k'} 1.1051 {'omega_real'} 164.78 {'omega_imag'} 92.404 {'k'} 1.3061 {'omega_real'} 118.25 {'omega_imag'} 66.15 {'k'} 1.5071 {'omega_real'} 89.057 {'omega_imag'} 49.681 {'k'} 1.7081 {'omega_real'} 69.551 {'omega_imag'} 38.676 {'k'} 1.9091 {'omega_real'} 55.875 {'omega_imag'} 30.96 {'k'} 2.1101 {'omega_real'} 45.918 {'omega_imag'} 25.342 {'k'} 2.3111 {'omega_real'} 38.444 {'omega_imag'} 21.126 {'k'} 2.5121 {'omega_real'} 32.692 {'omega_imag'} 17.88 {'k'} 2.7131 {'omega_real'} 28.17 {'omega_imag'} 15.329 {'k'} 2.9141 {'omega_real'} 24.551 {'omega_imag'} 13.287
Lv = varfun(@(x)~isnumeric(x),T1);
Ln = find(table2array(Lv));
k = find(table2array(varfun(@(x)contains(x,'k'), T1(1,Ln))));
Re = find(table2array(varfun(@(x)contains(x,'real'), T1(1,Ln))));
Im = find(table2array(varfun(@(x)contains(x,'imag'), T1(1,Ln))));
k = table2array(T1(:,Ln(k)+1));
Real = table2array(T1(:,Ln(Re)+1));
Imag = table2array(T1(:,Ln(Im)+1));
figure
plot(k, Real, 'DisplayName','Real', 'LineWidth',2)
hold on
plot(k, Imag, 'DisplayName','Imag', 'LineWidth',2)
plot(k, abs(Real+1j*Imag), 'DisplayName','Abs', 'LineWidth',2)
hold off
grid
Ax = gca;
Ax.YScale = 'log';
xlabel('k')
ylabel('Magnitude')
legend('Location',' best')
.

Categorie

Scopri di più su Large Files and Big Data in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by