2012-05-14 11 views
9

पर एक कमांड लाइन तर्क के रूप में फ़ाइल नाम पास करें निष्पादन योग्य ऑक्टेव स्क्रिप्ट में, मैं एक मैट्रिक्स वाली फ़ाइल का नाम पास करना चाहता हूं और एक फ़ाइल मैट्रिक्स के रूप में फ़ाइल जानकारी को gnu octave लोड करना चाहता हूं। मैं उसको कैसे करू?जीएनयू ऑक्टेव स्क्रिप्ट

यहाँ फ़ाइल पारित कर एक मैट्रिक्स मनमाने ढंग से आकार के एक मैट्रिक्स युक्त हो जाएगा कहते हैं कि 2x3

1 2 3 
5 7 8 

कमांड लाइन पर स्क्रिप्ट चलाने की जानी चाहिए क्या स्क्रिप्ट की तरह

#! /usr/bin/octave -qf 

arg_list = argv() 

filename = argv{1} % Name of the file containing the matrix you want to load 

load -ascii filename % Load the information 

दिखना चाहिए है ./myscript mymatrixfile जहां mymatrixfile में मैट्रिक्स शामिल है।

यह मैं क्या मिलता है जब मैं स्क्रिप्ट सिर्फ सप्तक के साथ ऊपर लिखा निष्पादित करने के लिए कोशिश

[Desktop/SCVT]$ ./octavetinker.m generators.xyz                    (05-14 10:41) 
arg_list = 

{ 
    [1,1] = generators.xyz 
} 

filename = generators.xyz 
error: load: unable to find file filename 
error: called from: 
error: ./octavetinker.m at line 7, column 1 

[Desktop/SCVT]$ 

कहाँ generators.xyz मैट्रिक्स मैं

उत्तर

8

जरूरत फ़ाइल है जिसमें यह काम करना चाहिए:

#!/usr/bin/octave -qf 

arg_list = argv(); 
filename = arg_list{1}; 
load("-ascii",filename); 

जब आपने लाइन load filename लिखा था तो आपने फ़ाइल नाम "फ़ाइल नाम" लोड करने के लिए लोड फ़ंक्शन को इंगित किया था। यही कहना है, आपने ऐसी चीज की है जो load('filename'); के बराबर है।

MATLAB और Octave दोनों में, एक फ़ंक्शन "foo" एक स्थान के बाद एक शब्द "बार" इंगित करता है कि बार को स्ट्रिंग के रूप में प्रस्तुत किया जाना है। यह सही है भले ही बार आपके कार्यक्षेत्र में एक परिभाषित चर है।

+0

MATLAB में संबंधित कोड क्या हैं? – Celik

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