में वेक्टर-मूल्यवान ब्लैक-बॉक्स फ़ंक्शंस शैली के लिए प्लॉट को बताएं मान लीजिए कि मैं एक ब्लैक-बॉक्स फ़ंक्शंस लिखता हूं, जो एक महंगे जटिल मूल्यवान फ़ंक्शन को संख्यात्मक रूप से मूल्यांकन करता है, और फिर वास्तविक और काल्पनिक भाग देता है।गणित
fun[x_?InexactNumberQ] := Module[{f = Sin[x]}, {Re[f], Im[f]}]
तो मैं यह हमेशा की तरह प्लॉट में उपयोग कर सकते हैं, लेकिन प्लॉट को नहीं पहचानता समारोह एक जोड़ी देता है कि, और रंग दोनों घटता ही रंग। कोई गणित को कैसे बताता है कि निर्दिष्ट फ़ंक्शन हमेशा एक निश्चित लंबाई का वेक्टर देता है? या यह कैसे एक साजिश शैली है?
संपादित करें: को देखते हुए प्रयास समस्या का उत्तर देने का प्रयास किया, मुझे लगता है कि डबल reevalution परहेज केवल तभी संभव है स्टाइल प्राप्त ग्राफिक्स की एक पोस्ट-प्रोसेसिंग के रूप में किया जाता है। सबसे अधिक संभावना निम्नलिखित मजबूत नहीं है, लेकिन यह मेरे उदाहरण के लिए काम करने के लिए लगता है:
gr = Plot[fun[x + I], {x, -1, 1}, ImageSize -> 250];
k = 1;
{gr, gr /. {el_Line :> {ColorData[1][k++], el}}}
मुझे नहीं लगता कि ऐसा करने के लिए कोई दस्तावेज तरीका है। –
मैंने 'ट्रेस [प्लॉट [{पाप [एक्स], कॉस [x]}, {x, -1, 1}], ट्रेस इंटर्न -> ट्रू] चलाने का प्रयास किया, यह पता लगाने के लिए कि एमएमए लाइनों और असाइन की संख्या निर्धारित करती है रंग/शैलियों - लेकिन यह कुछ भी स्पष्ट नहीं किया। शायद किसी और को आउटपुट समझने में बेहतर भाग्य होगा। – Simon