How to solve equation with n data and select the maximum value of each answer?

1 次查看(过去 30 天)
I have a vector(A) with 2000 different values(1*2000).
I want to solve equation below and for each value of A I have two different answers and maximum value is desired. so I want 2000 answer for x.
(A/x)+x-200=0
The codes below has been used, but gives me wrong answer :
syms x
for i=1:2000;
eqn(1,i)=(A(1,i)/x)+x-200==0
answer(1,i)=max(solve(eqn(1,i),x)
end
can you please advise?
thank you

采纳的回答

Torsten
Torsten 2016-2-10
answer(1,:) = 100 + sqrt(100^2-A(1,:));
Best wishes
Torsten.

更多回答(1 个)

Andrei Bobrov
Andrei Bobrov 2016-2-10
编辑:Andrei Bobrov 2016-2-10
n = numel(A);
out = zeros(n,1);
for jj = 1:n
out(jj) = max(roots([1 -200 A(jj)]));
end

类别

Help CenterFile Exchange 中查找有关 Equation Solving 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by