Why does my function graph look like a net? How to improve it?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Tmat
el 19 de Ag. de 2020
Comentada: Tmat
el 21 de Ag. de 2020
Hi, I tried to plot a vector t against ft, a well-defined function. However after entering the following codes:
figure;plot(t,ft);xlabel('t');ylabel('ft');
I got the following graph, which looks wierd. As for each value t there should be only one value for ft. How could I improve the graph? I attached my data too. Any comments or suggestions are welcome. Thanks!
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/348191/image.jpeg)
Respuesta aceptada
Stephen23
el 19 de Ag. de 2020
Editada: Stephen23
el 19 de Ag. de 2020
"As for each value t there should be only one value for ft."
Each vector contains exactly 1681 elements, so that is true. But the t values are not monotonic increasing:
>> issorted(t)
ans = 0
>> nnz(find(diff(t)<=0))
ans = 40
and MATLAB plots the data in exactly the t-order that you tell it to, as one long zig-zag line. So far everything is working as documented and as expected.
However it appears that the time data repeats block of 41 elements, which I assume is the same for the data vector. If you expect each of those blocks of data to be displayed as a separate line, then the simplest way is to reshape the data into matrices:
>> Mft = reshape(ft,41,41);
>> Mt = reshape(t, 41,41);
>> plot(Mt,Mft)
Giving
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/348194/image.png)
Más respuestas (0)
Ver también
Categorías
Más información sobre Colormaps 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!