2010-01-01 14 views
5

असल में, मेरे पास 10 डेटा फाइलें हैं और मैंने इन डेटा को संसाधित करने के लिए MATLAB फ़ंक्शन लिखा है। कोड इस तरह है:MATLAB में फ़ंक्शन तर्क के रूप में मैं स्ट्रिंग को कैसे पास करूं?

function Z = fitdata(file_path) 

    A = importdata(file_path,','); 
    ... 

end 

जब से मैं इनपुट करने के लिए एक ही आदेश 10 बार (विभिन्न फ़ाइल नाम के लिए) नहीं करना चाहता, मैं इस प्रसंस्करण स्वचालित करने के लिए एक और पटकथा लिखी। कोड इस तरह दिखता है:

function X = automate() 

    myarray = {'file_one', 'file_two', 'file_three',......,'file_ten'}; 
    for i = 1:9 
    mypath = myarray{i}; 
    W = fitdata(mypath); 
    ... 
    end 

end 

लेकिन मैं fitdata (FILE_PATH) कार्य करने के लिए कॉल में त्रुटि "कई सारे इनपुट तर्क" हो रही है।

मुझे यह कैसे करना चाहिए?

+0

गलती के लिए खेद है। यह मेरा कोड im 'importdata' था। लेकिन मुझे अभी भी त्रुटि मिल रही है। मैंने Matlab कमांड लाइन से fitdata ('file_one', ',') टाइप करने का भी प्रयास किया, लेकिन त्रुटि बनी हुई है। – ablimit

+0

आपके वाक्यविन्यास के साथ कुछ भी गलत नहीं लगता है। क्या आप सुनिश्चित हैं कि 'importdata() 'आपकी फ़ाइल पर चकित नहीं हो रहा है? MATLAB कमांड लाइन पर 'importdata (' my_file_1 ',', ')' आज़माएं। –

+0

importdata() ठीक है। अगर मैं एक स्ट्रिंग की घोषणा करता हूं जैसे: file_path = 'filename' और importdata (file_path, ',') पर कॉल करें, तो यह काम करता है। मुझे लगता है कि एकमात्र समस्या यह है कि किसी फ़ंक्शन को तर्क के रूप में स्ट्रिंग को कैसे पास किया जाए। – ablimit

उत्तर

4

संपादित करें: के बाद से नीचे दिए गए सुझावों समस्या का समाधान नहीं है, और के बाद से वहाँ कुछ और कोड आप पोस्ट के साथ गलत होने के लिए प्रकट नहीं होता है, मैं अगले यकीन fitdata के संस्करण ऊपर दिए गए बनाने के लिए जाँच करेगा MATLAB पथ पर उस नाम का केवल फ़ंक्शन है। आपने अनजाने में एक और फ़ंक्शन या स्क्रिप्ट बनाई हो और उसे fitdata.m के रूप में सहेजा हो, और इसे ऊपर बनाए गए संस्करण के बजाय इसे कॉल किया जा सकता है।


पिछला जवाब:

मुझे लगता है कि आप IMPORT के बजाय IMPORTDATA समारोह है, जो त्रुटि मिल रहा है की संभावना स्रोत है उपयोग करने के लिए मतलब है।

सलाह का एक अतिरिक्त टुकड़ा: अपने चर के path का नाम नहीं देना सबसे अच्छा है, क्योंकि पहले से ही एक फ़ंक्शन PATH है। परिवर्तक फ़ंक्शन के बजाय उपयोग किया जा रहा है (MATLAB precedence rules के आधार पर), जो अभी भी आप इस विशिष्ट मामले में क्या करना चाहते हैं, लेकिन अन्य मामलों में भ्रम और त्रुटि का स्रोत है।

+0

आपके उत्तर के लिए धन्यवाद। – ablimit

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

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