Trouble with for-loop and fft
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
So the error I
get in my code i am not understanding see attached code and error
get in my code i am not understanding see attached code and error0 Commenti
Risposta accettata
Dave B
il 13 Ago 2021
On line 33 of 'U296' you have the line
xdft=fft(signal.x_0_003{k},n)/L;
inside the fft you see:
signal.x_0_003{k}
but signal.x_0_003 is not a cell (or other type that supports {}).
What is class(signal.x_0_003)? Did you mean to use () instead of {}?
3 Commenti
Dave B
il 16 Ago 2021
signal is a table
signal.x_0_003 is a variable in that table, my guess is that it contains a vector of values. You cannot use {} to index into this. I don't see how k would provide a time window here, but it's a little hard to say without knowing more about the structure of your table.
Here are some examples with table indexing that might help:
x=(10:10:100)';
t=table(x)
k=3;
t.x(3)
t.x(k:k+5)
x2 = {1:5;5:10:30;1:3:12};
t=table(x2)
t.x2{2}
Più risposte (1)
dpb
il 13 Ago 2021
What's the purpose of the loop over k?
You have the time history apparently as variable x_0_003 in the table which one presumes will be the third column.
If you want the FFT() of it, just write
xdft=fft(signal.x_0_003,n)/L;
There doesn't seem any point in the for...end loop at all.
NOTA BENE:
There's also no need to create copies of the table data into local variables time and volts; use the table variables directly. You could fix up the names in the table to be more meaningful either on input or later --
signal.Properties.VariableNames(2:3)={'Time','Volts'};
and then use
plot(signal.Time,signal.Volts)
Vedere anche
Categorie
Scopri di più su Transforms 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!