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

1 Ansicht (letzte 30 Tage)
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

Akzeptierte Antwort

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

Weitere Antworten (1)

Andrei Bobrov
Andrei Bobrov am 10 Feb. 2016
Bearbeitet: Andrei Bobrov am 10 Feb. 2016
n = numel(A);
out = zeros(n,1);
for jj = 1:n
out(jj) = max(roots([1 -200 A(jj)]));
end

Community Treasure Hunt

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

Start Hunting!

Translated by