2016-11-08 7 views
5

मैं एक दो-आउटपुट फ़ंक्शन के आउटपुट को दो-इनपुट फ़ंक्शन में एक पंक्ति में पास करना चाहता हूं।एक पंक्ति में 0 मैटलैब फ़ंक्शन से दूसरे में दो मानों को पास करना

यानी अगर मैं दो कार्यों

function [out1, out2] = funA(in) 
%function definition here 
function out = funB(in1, in2) 
%function definition here 

मैं की तरह

out = funB(funA(in)) %this doesn't actually work 

कुछ करना चाहता हूँ है वहाँ के रूप में

[o1, o2] = funA(in) 
out = funB(o1, o2) 

मैं इसे लिखने के बिना यह करने के लिए वाक्य रचना है मैं भी

की तलाश नहीं कर रहा हूं 10
[o1, o2] = funA(in); out = funB(o1, o2); 
+1

आप यह "आसान" नहीं कर सकते। आप मैटलैब में चीजों को फिर से भरकर कोशिश कर सकते हैं, जैसा कि दिखाया गया है [कैसे किसी फ़ंक्शन के एकाधिक आउटपुट को सीधे पास किया जाए?] (Http://stackoverflow.com/questions/39359410/how-to- प्रत्यक्ष रूप से-pass-multiple-outputs -of-एक-समारोह करने के लिए एक और)। – Marcin

+0

http://stackoverflow.com/q/39359410/2627163 – EBH

+0

भले ही लोग आपको दिखाएंगे कि यह कैसे करना है, यह अपरिवर्तित है और सुधार की नहीं है। मेरा सुझाव है कि आप 'ओ 1' और 'ओ 2' को पकड़ते रहें और उन्हें मूल्य के रूप में पास कर दें –

उत्तर

0

मुझे यकीन नहीं है कि यदि आप किसी अन्य कॉल के साथ फ़ंक्शन इनलाइन को कॉल करते हैं, तो मैटलैब हमेशा यह मान लेगा कि आप केवल पहले/प्राथमिक आउटपुट चाहते हैं।

मैटलैब केवल अन्य आउटपुट वैरिएबल (आउट 2/इन 2) बनाता है यदि आप वास्तव में उन्हें असाइन करते हैं।

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