Effacer les filtres
Effacer les filtres

Info

Cette question est clôturée. Rouvrir pour modifier ou répondre.

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

1 vue (au cours des 30 derniers jours)
Maxime Yon
Maxime Yon le 16 Mai 2017
Clôturé : MATLAB Answer Bot le 20 Août 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 commentaire
Maxime Yon
Maxime Yon le 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...

Réponses (1)

Star Strider
Star Strider le 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 commentaires
Maxime Yon
Maxime Yon le 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 le 16 Mai 2017
I am lost.
Please explain in more detail what you want.

Cette question est clôturée.

Tags

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by