मैं वर्गबद्ध Lagrange बहुपदों की साजिश के लिए एक सरल इंटरफेस बनाने की कोशिश कर रहा हूँ। इसके लिए, आपको केवल 3 अंक (प्रत्येक के अपने एक्स, वाई, जेड निर्देशांक के साथ) की आवश्यकता होती है, जिन्हें बाद में वर्गिक लैंगेंज बहुपदों का उपयोग करके इंटरपोल किया जाता है।MATLAB प्लॉट इंटरैक्टिव कैसे बनाएं?
एक स्थिर संस्करण बनाना आसान है, या यहां तक कि एक व्यक्ति जो वक्र को साजिश करने से पहले 3 अंक इनपुट करने देता है। लेकिन उपयोगकर्ता के लिए प्लॉट विंडो में किसी मौजूदा स्थिति को किसी अन्य स्थिति में खींचने के लिए भी संभव होना चाहिए, और फिर इस बिंदु की नई स्थिति का उपयोग करके वक्र को स्वचालित रूप से फिर से साजिश करना चाहिए!
तो संक्षेप में, उपयोगकर्ता किसी अन्य स्थान पर इन काले बिंदुओं को खींचें करने के लिए सक्षम होना चाहिए। उसके बाद (या खींचते समय), वक्र अद्यतन किया जाना चाहिए।
function Interact()
% Interactive stuff here
figure();
hold on;
axis([0 7 0 5])
DrawLagrange([1,1; 3,4; 6,2])
function DrawLagrange(P)
plot(P(:,1), P(:,2), 'ko--', 'MarkerSize', 10, 'MarkerFaceColor', 'k')
t = 0:.1:2;
Lagrange = [.5*t.^2 - 1.5*t + 1; -t.^2 + 2*t; .5*t.^2 - .5*t];
CurveX = P(1,1)*Lagrange(1,:) + P(2,1)*Lagrange(2,:) + P(3,1)*Lagrange(3,:);
CurveY = P(1,2)*Lagrange(1,:) + P(2,2)*Lagrange(2,:) + P(3,2)*Lagrange(3,:);
plot(CurveX, CurveY);
मुझे लगता है कि मैं या तो WindowButtonDownFcn, WindowButtonUpFcn और WindowButtonMotionFcn, या छवि प्रसंस्करण उपकरण बॉक्स से ImPoint जैसे कार्यों का उपयोग करने के लिए है। पर कैसे?
[संपादित करें] इसे 3 डी में भी काम करना चाहिए, क्योंकि मैं इस अवधारणा को उत्पाद सतहों को टेंसर करने के लिए सामान्य बनाना चाहता हूं।
क्या आपने कभी लिंकडाटा के साथ इसे हल करने का प्रयास किया है? –