2016-11-08 17 views
5

Czekam na przekazanie wyjść funkcji dwuprodukcyjnej do funkcji dwóch wejść, w jednym wierszu.Przekazywanie dwóch wartości z jednej funkcji Matlab do drugiej w jednym wierszu

znaczy, jeśli mam dwie funkcje

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

chcę zrobić coś jak

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

Czy jest składnia to zrobić bez konieczności pisania go jako

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

I "Nie szukam również

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

Nie możesz tego zrobić "łatwo". Możesz spróbować, zmieniając rzeczy w matlab, jak pokazano w [Jak bezpośrednio przekazać wiele wyjść funkcji do drugiej?] (Http://stackoverflow.com/questions/39359410/how-to-directly-pass-multiple-outputs -of-a-funkcja-do-drugiej). – Marcin

+0

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

+0

Nawet jeśli ludzie pokażą ci, jak to zrobić, jego zaciemnienie, a nie ulepszenie. Sugeruję, abyś nadal grał "o1" i "o2" i przekazywał je jako wartości –

Odpowiedz

0

Nie jestem pewien, czy jest to możliwe, jak gdyby wywołać funkcję in-line z innym połączeniem, Matlab zawsze zakłada, że ​​chcesz tylko chcesz pierwszego/pierwotnego wyjścia.

Matlab tworzy tylko inne zmienne wyjściowe (out2/in2), jeśli faktycznie je przypisujesz.