solve an expression and plot

3 次查看(过去 30 天)
Suppose, for each alpha, I have to find a delta which is the highest positive root of the equation A^2-4*B*beta=0. The expression of A, B are given in terms of alpha and delta. How to get that and how to plot alpha vs delta plot.
beta=0.85;gamma=.15;theta=0.1;
alpha=.303:.001:5
syms delta
A=-alpha*beta + alpha.*delta + gamma*beta + beta;
B=alpha.*theta*(beta -delta) + gamma*beta;
rr=solve(A^2-4*B*beta == 0)
plot(alpha,rr)

采纳的回答

Walter Roberson
Walter Roberson 2013-6-3
beta = 0.85; gamma = .15; theta = 0.1;
alpha = .303: .001: 5;
syms Alpha delta
A = -Alpha * beta + Alpha .* delta + gamma * beta + beta;
B = Alpha .* theta * (beta - delta) + gamma * beta;
rr = solve( A^2 - 4*B*beta, delta);
rrt = double(subs(rr, Alpha, alpha(1));
[maxrrt, idx] = max(rrt);
maxrr = rr(idx);
rrpos = double(subs(maxrr, Alpha, alpha));
plot(alpha, rrpos)

更多回答(1 个)

Azzi Abdelmalek
Azzi Abdelmalek 2013-6-3
编辑:Azzi Abdelmalek 2013-6-3
beta=0.85;
gamma=.15;
theta=0.1;
alpha=(.303:.001:5)'
syms delta
A=-alpha*beta + alpha*delta + gamma*beta + beta;
B=alpha*theta*(beta -delta) + gamma*beta;
for k=1:numel(A)
rr{k}=solve(A(k).^2-4*B(k)*beta == 0);
end
  2 个评论
Walter Roberson
Walter Roberson 2013-6-3
After which you would need the step of finding the highest positive root for each rr{:}
Atom
Atom 2013-6-4
Thanks for your reply. delta may some times given one +ve, one -ve roots and 2 positive. I need the largest positive value of delta for each alpha. I also would like to plot(alpha, delta).

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Particle & Nuclear Physics 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by