Filter löschen
Filter löschen

Info

Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.

Area not filled with curve crossing zeros several time, any ideas ?

1 Ansicht (letzte 30 Tage)
Maxime Yon
Maxime Yon am 16 Mai 2017
Geschlossen: MATLAB Answer Bot am 20 Aug. 2021
Hello,
I want to filled the area between the zero and a curve.
I use area and it works for a gausien function but not for cardinal sinus.
here is the code :
w1=-100:0.01:100;
%%Gaussienne
w0=10;
wg = 10;
Ig = (1./(wg*sqrt(pi)))*exp(-((w1-w0)./(wg)).^2);
area(w1,Ig,'FaceColor',[1 0.6 0.6],'EdgeColor',[1 0 0],'LineWidth',5)
%%Cardinal sinus
w0= 0;
Sig = 0.25;
sc = sin((w1-w0)*Sig)./((w1-w0)*Sig);
area(w1,sc,'FaceColor',[1 0.6 0.6],'EdgeColor',[1 0 0],'LineWidth',5)
Any ideas ?
thank you
  1 Kommentar
Maxime Yon
Maxime Yon am 16 Mai 2017
It works with a slightly different period of function
I just multipliy w0 by 1.1 and it works
This will stay a mystery for me...

Antworten (1)

Star Strider
Star Strider am 16 Mai 2017
Use the hold function.
See if this does what you want:
w1=-100:0.01:100;
% %%Gaussienne
w0=10;
wg = 10;
Ig = (1./(wg*sqrt(pi)))*exp(-((w1-w0)./(wg)).^2);
figure(1)
area(w1,Ig,'FaceColor',[1 0.6 0.6],'EdgeColor',[1 0 0],'LineWidth',5)
% %%Cardinal sinus
w0= 0;
Sig = 0.25;
sc = sin((w1-w0)*Sig)./((w1-w0)*Sig);
hold on
area(w1,sc,'FaceColor',[1 0.6 0.6],'EdgeColor',[1 0 0],'LineWidth',5)
hold off
  2 Kommentare
Maxime Yon
Maxime Yon am 16 Mai 2017
Thank you but this do not change my problem :
I do not want the two graphs to be on the same windows.
I want the second on to be filled which is not the case.
Star Strider
Star Strider am 16 Mai 2017
I am lost.
Please explain in more detail what you want.

Diese Frage ist geschlossen.

Tags

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by