how to use multiple variable in fsolve and plot the corresponding result

2 vues (au cours des 30 derniers jours)
jayash
jayash le 20 Fév 2015
Commenté : jayash le 20 Fév 2015
I want to plot between 'n0' and 'U'. First I have to get 'n0' in terms of 'U' (for which I used fsolve)
eq = @(q) 2*(1 - cos(2*Pi*q));
hq =@(q) ((eq)^2 + 2*U*n0*(eq))^(1/2);
ha = @(q) (((eq) + (U*n0))/hq) - 1;
a = -0.5;
b = 0.5;
v = @(U,n0) quad(ha,a,b);
vv = @(U,n0) n0+(0.5*v)-1;
options = optimset('Display', 'iter');
n = @(U) fsolve(vv,n0,0.1);
U = 0:0.1:20;
plot(U,n(U))
How can I do this? Thanks.

Réponses (2)

Torsten
Torsten le 20 Fév 2015
Please write down the equation you are trying to solve in a mathematical notation.
Maybe then someone can help you to solve your problem.
Nobody has the time to put the pieces of your above puzzle-code together.
Best wishes
Torsten.

Torsten
Torsten le 20 Fév 2015
Your integral does not exist since the denominator is 0 at q=0 and hw proportional to q in a neighborhood of q=0.
Best wishes
Torsten.
  1 commentaire
jayash
jayash le 20 Fév 2015
Do you any method to overcome this singularity, I mean is there any way to exclude "'\hbar\omega = 0" ?

Connectez-vous pour commenter.

Catégories

En savoir plus sur 2-D and 3-D Plots dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by