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

1 Ansicht (letzte 30 Tage)
jayash
jayash am 20 Feb. 2015
Kommentiert: jayash am 20 Feb. 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.

Antworten (2)

Torsten
Torsten am 20 Feb. 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 am 20 Feb. 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 Kommentar
jayash
jayash am 20 Feb. 2015
Do you any method to overcome this singularity, I mean is there any way to exclude "'\hbar\omega = 0" ?

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Get Started with MATLAB finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by