Row index exceeds table dimensions

Hi Guys, i got the following error in my script:
Error using ()
Row index exceeds table dimensions.
in (line 51): T_Umlenkung(m,j)=Tnew(h,"Umlenkung");
h=1;
T_Umlenkung = array2table(zeros(Werte_pro_Zyklus,Zyklen));
for j=1:1:Zyklen
for m=1:1:160
T_Umlenkung(m,j)=Tnew(h,"Umlenkung");
h=h+1;
end
end
max = max(T_Umlenkung);
The goal is to retrieve data from a table (length 1117) and create a new table that has 160 values in each column (160 values = 1 cycle). Afterwards, the maximum value of each cycle is to be recorded and plotted in a diagram.
Why does the code give the error mentioned above?

6 Kommentare

Kevin Holly
Kevin Holly am 5 Aug. 2022
What is Tnew?
David
David am 5 Aug. 2022
A table where the data from the test series are summarized.
But I think that I have solved the problem. There are 7 cycles of 160 values each and the table was only 1117 values long, so it came to the error. I changed the table to 1120 values, so that the values are all in the new table.
Btw: I now have this table where each cycle is a column in the new table. Now I need the maximum value of each column, which I then want to plot in a chart.
But i got this error: Error using max
Invalid data type. First argument must be numeric or logical.
Isnt the data in this table numeric?
You can type
class(Tnew.Var1)
Then we can see if the values are numeric or if they are cells.
Les Beckham
Les Beckham am 5 Aug. 2022
Suggestion:
Don't name a variable max since that is a built-in Matlab function (especially if you are actually trying to use the max function).
David
David am 5 Aug. 2022
Same error as before..
I need the max values from the table i send you before (T_Umlenkung).
Walter Roberson
Walter Roberson am 5 Aug. 2022
you cannot apply max() to a table()
You can use varfun() to apply max to each column

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Chetan
Chetan am 1 Sep. 2023

0 Stimmen

Hi @David!
Based on my understanding, it seems that you are encountering difficulties with indexing a table. This issue arises due to a size incompatibility. When importing a table, MATLAB ignores the first row, so the size of the table should be 1 less than the total number of rows you are referring to.
Additionally, if you need to calculate the maximum value on the table, you cannot do it directly. Instead, you can use the varfun functionality or calculate it column-wise.
For more details and solutions, I recommend referring to the following links:
Hope it helps !

Gefragt:

am 5 Aug. 2022

Beantwortet:

am 1 Sep. 2023

Community Treasure Hunt

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

Start Hunting!

Translated by