Tracciare l'area tra due curve


3

Ho una funzione con un parametro z simile a quello sopra:

y = sin(x+z)

Come posso tracciare i valori di y come una funzione di X e tutti i possibili valori di z in [0.1, +0.1]?

Voglio rappresentare l'area definita da quei limiti. Quindi tutto ciò che è limitato dal peccato (x-0.1) e dal peccato (x + 0.1) dovrebbe essere ombreggiato, tutto all'esterno sarebbe lo spazio bianco.

Sto cercando di farlo con gnuplot , ma con qualsiasi software probabilmente andrebbe bene.


Forse qualcosa del genere plot '+' using ($1):(sin($1+.1)):(sin($1-.1)) w filledcurves
Hastur

Risposte:


2

Puoi provare a usare lo pseudofile + e tracciare l'opzione con le curve piene:

set termoption enhanced
set style fill transparent solid 0.70 noborder
set key off
set sample 1000
set xlabel "{/*1.2x}" 
set ylabel "{/*1.2f(x)}"
plot [0:2*pi] '+' using ($1):(sin($1+.1)):(sin($1-.1))  w filledcurves

enter image description here


Questo è il caso {sin (x-0.1) & lt; y & lt; sin (x + 0.1)} U {sin (x-0.1) & gt; y & gt; sin (x + 0,1)}. Non è sicuro di ciò che l'OP voleva comunque.
Joce

Dopo 5-6 anni non sono sicuro che nemmeno l'OP lo sappia :D Cerco di dare un suggerimento quando l'OP afferma "Quindi tutto ciò che è limitato da sin (x-0.1) e sin (x + 0.1) sarebbe ombreggiato, tutto all'esterno sarebbe spazio bianco"
Hastur

1

Dai un'occhiata a filledcurves.

Per tracciare il set {sin (x-0.1) & lt; y & lt; sin (x + 0.1)}, usa:

unset key
set sample 1000
plot sin(x+0.1) w filledcurves y=-1 lw 0
replot sin(x-0.1) w filledcurves y=-1 lc rgbcolor "white" lw 0
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.