Problem 282. Circle and Quadratic
Imagine the quadratic curve with equation
y=y(x)=ax^2+bx+c
On the concave side of this curve there is a circle of radius R. The circle is as close the the extremum of the quadratic as possible without resulting in the curves crossing each other. Write a function which takes as inputs a,b,c, and R and returns the coordinates of the center of the circle.
For example, if
a=1; b=0; c=10; R=pi;
then the function returns
T = circ_puzz(a,b,c,R) T = 0 20.1196044010894
This can be visualized as follows:
P = @(x) a*x.^2 + b*x + c; % Quadratic C = @(x) real(-sqrt(R^2-(x-T(1)).^2) + T(2)); % Lower half circle x = linspace(-R,R,10000); % Range of plotted data. plot(x,C(x),'r',x,-C(x)+2*T(2),'r',x,P(x),T(1),T(2),'*k') ylim([0,30]) axis equal
Solution Stats
Problem Comments
-
3 Comments
the visualisation has an error, it should be
C = @(x) real(-sqrt(R^2-(x-T(1)).^2) + T(2)); % Lower half circle
Thanks Gunther. The function does produce the correct graphic, but only when T(1)=0 as in my example.
The third test is a pain. Why such a small circle for high precision? It's already a single-point tangent circle. It is no fun to look for the specific method the author had in mind when we already have the answer. IMHO, problems should be open; they accept all kinds of solutions (leaving people to explore clever ideas). Or they should be closed, and a specific method is requested (so people don't wander to dead ends). Precision should be a requirement only for closed ones.
Solution Comments
Show commentsProblem Recent Solvers14
Suggested Problems
-
2247 Solvers
-
396 Solvers
-
middleAsColumn: Return all but first and last element as a column vector
605 Solvers
-
184 Solvers
-
How long do each of the stages of the rocket take to burn?
301 Solvers
More from this Author6
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!