एपीसी ने कहा, ऐसा करने के लिए कोई अंतर्निहित कार्यक्षमता नहीं है। लेकिन तुम PL/SQL से WolframAlpha API उपयोग कर सकते हैं:
declare
v_equation varchar2(32767) :=
'(3.5/(1+x))+(3.5/(1+x)^2)+(3.5/(1+x)^3)+(3.5/(1+x)^4)+(100/(1+x)^4)=101.55';
v_escaped_url varchar2(32767);
v_uri httpuritype;
v_xml xmltype;
v_count number := 1;
begin
--Escape the URL.
--I used chr(38) for ampersand, in case your IDE think it's a substitution variable
v_escaped_url :=
'http://api.wolframalpha.com/v2/query?appid=EQGHLV-UYUEYY9ARU'||chr(38)||'input='
||utl_url.escape(v_equation, escape_reserved_chars => true)
||chr(38)||'format=plaintext';
--Create an HTTPURIType, and get the XML
v_uri := httpuritype.createUri(v_escaped_url);
v_xml := v_uri.getXML;
--Complex solutions
while v_xml.existsNode('/queryresult/pod[@title="Complex solutions"]/subpod['||v_count||']') = 1 loop
dbms_output.put_line(v_xml.extract('/queryresult/pod[@title="Complex solutions"]/subpod['||v_count||']/plaintext/text()').getStringVal());
v_count := v_count + 1;
end loop;
--Real solutions
v_count := 1;
while v_xml.existsNode('/queryresult/pod[@title="Real solutions"]/subpod['||v_count||']') = 1 loop
dbms_output.put_line(v_xml.extract('/queryresult/pod[@title="Real solutions"]/subpod['||v_count||']/plaintext/text()').getStringVal());
v_count := v_count + 1;
end loop;
end;
/
परिणाम:
x = -1.00006-0.996229 i
x = -1.00006+0.996229 i
x = -1.99623
x = 0.0308219
इस दृष्टिकोण के लिए संभावित कमियां की एक बहुत कुछ कर रहे हैं। यह बहुत धीमा होगा, और एपीआई मुक्त नहीं है। मेरा उदाहरण काम करता है क्योंकि मैंने अपने फ्री डेवलपर एपिड का इस्तेमाल किया, लेकिन यह केवल छोटी संख्या में कॉल के लिए अच्छा है।
स्रोत
2013-02-09 05:37:26
मुझे लगता है, चूंकि आप SQL का उपयोग कर रहे हैं, तो डेटाबेस 'x' के मान को आपूर्ति करेगा, क्या यह सही है? –
नहीं, असल में मेरा मतलब है कि x xd –
का मान क्या है यदि यह फ़ंक्शन में निर्मित नहीं है, तो आप या तो ब्रूट फोर्स का उपयोग करेंगे या कुछ कस्टम फ़ंक्शन लिखेंगे। आप जो करना चाहते हैं उसके आधार पर, मैं गणित (http://www.wolfram.com/mathematica) – tbone