Trouble with for-loop and fft

1 vue (au cours des 30 derniers jours)
shawn finley
shawn finley le 13 Août 2021
Commenté : shawn finley le 16 Août 2021
So the error I get in my code i am not understanding see attached code and error

Réponse acceptée

Dave B
Dave B le 13 Août 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 commentaires
Dave B
Dave B le 16 Août 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)
t = 10×1 table
x ___ 10 20 30 40 50 60 70 80 90 100
k=3;
t.x(3)
ans = 30
t.x(k:k+5)
ans = 6×1
30 40 50 60 70 80
x2 = {1:5;5:10:30;1:3:12};
t=table(x2)
t = 3×1 table
x2 _____________ {[1 2 3 4 5]} {[ 5 15 25]} {[ 1 4 7 10]}
t.x2{2}
ans = 1×3
5 15 25
shawn finley
shawn finley le 16 Août 2021
thanks for the clairifacation on the indexing

Connectez-vous pour commenter.

Plus de réponses (1)

dpb
dpb le 13 Août 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)
  2 commentaires
shawn finley
shawn finley le 16 Août 2021
The purpose of the for-loop is to analise the frequency that the fft generates over time.
I will look at using teh signal.Properties.VariablesNames code, but if it uses the signal tool box I don't have that.
shawn finley
shawn finley le 16 Août 2021
Just to be clear I do not have the Signal Processing Toolbox, sorry and Thanks.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Fourier Analysis and Filtering dans Help Center et File Exchange

Produits


Version

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by