Why would circshift stop working.
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Douglas Brenner
el 9 de Dic. de 2018
Respondida: Douglas Brenner
el 9 de Dic. de 2018
There is no evidence that circshift is working. The two plots are the same whereas yesterday a clear shift in the plots can be see. I have also printed out spect2 before and after the shift and there is none.
Using Matlab 2014
Before
Columns 49 through 56
0.570245000000000 0.570246000000000 0.570247000000000 0.570248000000000 0.570249000000000 0.570250000000000 0.570251000000000 0.570252000000000
3.848182812500000 3.704242187500000 3.475567187500000 3.204188671875000 2.899719335937500 2.559822851562500 2.223999414062500 1.932186718750000
After
Columns 49 through 56
0.570245000000000 0.570246000000000 0.570247000000000 0.570248000000000 0.570249000000000 0.570250000000000 0.570251000000000 0.570252000000000
3.848182812500000 3.704242187500000 3.475567187500000 3.204188671875000 2.899719335937500 2.559822851562500 2.223999414062500 1.932186718750000
1 comentario
Jan
el 9 de Dic. de 2018
Editada: Jan
el 9 de Dic. de 2018
The question is not clear yet. Why do you claim that circshift is "not working", and what does this exactly mean? Maybe you instruct circshift to shift the data by 0 elements or by the number of elements, such that the output equals the input?
Respuesta aceptada
Star Strider
el 9 de Dic. de 2018
Editada: Star Strider
el 9 de Dic. de 2018
What is the value of ‘td’? If it is 0, you won’t see any shift.
Is ‘spect2’ a vector or a matrix? (I couldn’t tell from your code.) If it’s a matrix, circshift will operate on the rows by default, with the syntax you’re using with it. You may need to tell it to operate on the columns.
0 comentarios
Más respuestas (2)
Jan
el 9 de Dic. de 2018
Use the debugger to find out, what happens: https://www.mathworks.com/help/matlab/matlab_prog/debugging-process-and-features.html . Set a break point in the line, which does not do, what you expect. Then check the values of the variables, here most likely the number of shifted elements.
Remember that function do not stop working. They are not tired or in a bad mood. Either you have modified a function, e.g. by creating an own function called 'circshift.m'. Then the function does work, but you do call another one. Or the function does exactly what its inputs instruct it to do, but these inputs are not, what you expect them to be. Or the function works and the method you apply to checking the results is flawed.
0 comentarios
Ver también
Categorías
Más información sobre Logical en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!