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

1 view (last 30 days)
jayash
jayash on 20 Feb 2015
Commented: jayash on 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.

Answers (2)

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

Sign in to comment.

Products

Community Treasure Hunt

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

Start Hunting!

Translated by