how to plot 3D figure like this?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Daniel Niu
el 30 de Nov. de 2022
Comentada: Star Strider
el 30 de Nov. de 2022
Dear friends,
How to plot 3D figure like this considering square wave =sin(x)+1/3sin(3x)+1/5sin(5x)+...
Your help would be highly appreciated.
Best regards
0 comentarios
Respuesta aceptada
Star Strider
el 30 de Nov. de 2022
Try something like this —
Fs = 250;
L = 100;
f = 1.26;
t = linspace(0, L-1, L)/Fs;
s = sin([0 (1:2:20)].'*2*pi*t*f)./[1 (1:2:20)].';
ssm = sum(s);
figure
plot(t, s, t, ssm)
figure
hr = ribbon(t,[ssm; s].', 0.1);
colormap(turbo)
I leave the details (and any other improvements) to you.
.
3 comentarios
Star Strider
el 30 de Nov. de 2022
My pleasure!
‘It seems the plots has some width. How to plot them looks like lines?’
The third argument to ribbon is ribbon width. Reduce it to whatever value you need to to get the result you want.
‘By the way, what is meaning of .' in hr = ribbon(t,[ssm; s].', 0.1)?’
It does a simple transpose, .' of the matrix. (A complex conjugate transpose is ctranspose, and uses a single quote(') as its operator).
.
Más respuestas (0)
Ver también
Categorías
Más información sobre Graphics Objects 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!