MATLAB Answers

Plot data from text file

8 views (last 30 days)
Izem on 23 Sep 2020
Commented: Rik on 23 Sep 2020
I want to plot ReP^2+ImP^2 as function of numero = 5, 10, 15 …145 for each mode(m,n) I would like to have something like this with the name of the mode on each curve. Here is the beginning of my code, anyone can help ?
data = readfile(test.txt)
HeaderLines = 8;
for i=(HeaderLines+1):numel(tm)
%store in temp variable
if isempty(data{i}),continue,end
line = str2num(str);
You can find my file attached.
Thank you in advance,


Show 2 older comments
Rik on 23 Sep 2020
That answered that question, yes.
The way I see it, you need to follow these steps:
  1. Load the data into Matlab variables
  2. Get the data for a single line
  3. Plot the line and create an annotation (e.g. with the text function)
  4. Repeat 2-3 for each combination of n and m
Try each step. If you have trouble with any of them, please describe what you tried.
Izem on 23 Sep 2020
I already start doing exactly what you described before posting here but it will be long since I have many (m,n) (14 in this case) so I will need 14 if m == .. n ==.. I wonder if there is a shorter way to do it. I note that we can know the combinations from line 6 in the text file : 'VECTEUR MODE : 4 4 4 4 3 3 3 2 2 2 1 1 1 1' which mean that we will have :
4 modes starting with 0 : m=0 and n change from 1 to 4 (0 1, 0 2, 0 3, 0 4)
4 modes starting with 1 (1 1, 1 2, 1 3, 1 4)
1 mode starting with 13 (13, 1)
So please tell me if you think there is a smarter way to do it using line 6 ? otherwise I will do what you already suggested.
Rik on 23 Sep 2020
You should convert the entire file. That means you will have a vector m with 5145 elements. Then you can use unique and use the result for a for loop, in which you can use ismember to extract all positions where m has a specific value.
You can also use that line to extract the values of m and n you need to combine.

Sign in to comment.

Answers (0)


Community Treasure Hunt

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

Start Hunting!