2010-09-09 12 views
9

मै मैटलैब में एक स्क्रिप्ट लिखता हूं, जो आंकड़ों के एक सेट को आंकड़े उत्पन्न करता है।मैटलैब में क्लोन आकृति - गुणों और डेटा के साथ

आंकड़े बनाने के संबंध में अपेक्षाकृत समान हैं, और उनमें से प्रत्येक को डेटा का एक सेट प्रदर्शित करना चाहिए (यह एक 3 डी-डोमेन में एम्बेडेड ग्राफ़ है)। इन आंकड़ों में से प्रत्येक को उस 3 डी-डोमेन के भीतर कणों का एक सेट प्रदर्शित करना चाहिए।

तो मैं पहली आकृति बनाना चाहता हूं, फिर इसकी कई प्रतियां बनाना चाहता हूं, और डेटा सेट में डाल देना चाहता हूं। हालांकि, मुझे नहीं पता, मैं मैटलैब में एक साधारण तरीके से एक आकृति के क्लोन कैसे बना सकता हूं।

क्या आप जानते हैं, मैं आंकड़े कैसे क्लोन कर सकता हूं?

ऑनलाइन दस्तावेज़ीकरण में मदद नहीं मिली। आपका बहुत बहुत धन्यवाद!

उत्तर

14

MATLAB का अंतर्निहित फ़ंक्शन copyobj भी काम करना चाहिए।

peaks; 
f2=copyobj(gcf,0); 
+1

+1: COPYOBJ के बारे में भूल गए। – gnovice

3

आप अपने बेस आकृति को फ़ंक्शन में जेनरेट करने के लिए उपयोग किए गए कोड को डाल सकते हैं, फिर अपने बेस आकृति की कई प्रतियां बनाने के लिए कई बार उस फ़ंक्शन को कॉल करें। प्लॉट किए गए डेटा के एक अलग सेट के साथ प्रत्येक को संशोधित करने के लिए आप उन आंकड़ों (और शायद उनकी अक्ष) के लिए graphics handles फ़ंक्शन से आउटपुट के रूप में वापस करना चाहेंगे। उदाहरण के लिए, इस समारोह में 500-दर-500 पिक्सेल आंकड़ा इनपुट डेटा के किसी दिए गए सेट के साथ छोड़ दिया और स्क्रीन के नीचे एक लाल रंग की पृष्ठभूमि के साथ से में 100 पिक्सल और एक कुल्हाड़ियों तैनात उस पर साजिश रची है:

function [hFigure,hAxes] = make_my_figure(dataX,dataY) 
    hFigure = figure('Color','r','Position',[100 100 500 500]); %# Make figure 
    hAxes = axes('Parent',hFigure);        %# Make axes 
    plot(hAxes,dataX,dataY); %# Plot the data 
    hold(hAxes,'on');   %# Subsequent plots won't replace existing data 
end 

x = rand(1,100); 
y = rand(1,100); 
[hFigure1,hAxes1] = make_my_figure(x,y); 
[hFigure2,hAxes2] = make_my_figure(x,y); 
[hFigure3,hAxes3] = make_my_figure(x,y); 

:

ऊपर समारोह अपने MATLAB path पर एक m-file को बचाया के साथ, आप इनपुट डेटा के एक ही सेट के साथ make_my_figure तीन बार फोन करने और हैंडल यह अलग-अलग वैरिएबल में देता भंडारण के द्वारा आंकड़ा के तीन प्रतियां बना सकते हैं और आप दूसरे आकृति के अक्षों में डेटा जोड़ सकते हैं जैसे:

plot(hAxes2,rand(1,100),rand(1,100)); 
2

एक सुविधाजनक तरीका एक समारोह है कि सभी मापदंडों ऐसी है कि (@gnovice की पोस्ट के रूप में) आंकड़ा सिर्फ सही दिखेगा सेट उत्पन्न करने के लिए सभी डेटा के साथ पहली आंकड़ा बनाने के लिए है (: यहाँ एक उदाहरण है जिसमें 3 डी पॉइंट्स शामिल हैं) और सभी स्वरूपण, और फिर FILE-menu से कमांड GENERATE M-FILE... चुनें (यहां लिंक किए गए ट्यूटोरियल पर एक नज़र डालें)।

यह एक ऐसा फ़ंक्शन बनाता है जिसे आप मैटलैब पथ पर सहेज सकते हैं, और जिसे आप बाद में नए डेटा के साथ पहले आंकड़े का सटीक क्लोन बनाने के लिए नए इनपुट के साथ कॉल कर सकते हैं।

संबंधित मुद्दे