2012-08-30 42 views
0

之間concatentaion我有一個返回4個值的函數:MATLAB:刪除值

[a1 , a2 , a3 , a4] = myFonction(x,y) 

調用此函數時,值A1,A2,A3,A4被連接如下:

truefalsevalue1value2 

我怎麼能拿

true false value1 value2 

功能:

function [a1, a2, a3, a4] = myFonction(v1,v2) 
    a1 = getvalueFromfile(v1,v2,'text'); 
    a2 = getvalueFromfile(v1,v2,'value'); 
    a3 = getvalueFromfile(v1,v2,'attribute'); 
    a4 = getvalueFromfile(v1,v2,'color'); 
end 
+0

聽起來像1)你的函數返回字符串2)你的'格式'設置搞砸了3)其他。您能否提供函數輸出的實際示例,和/或函數代碼的抽象最小版本? –

+2

這沒有任何意義。如果你的函數被寫入返回4個變量,它將返回。你最好向我們展示你的函數的代碼。 –

回答

1

我懷疑,但因爲你沒有在.m文件的末尾定義你的函數貼出你的代碼,你有這樣的線不能肯定的:

[a1,a2,a3,a4] 

這會導致這些變量的值被打印出來 - 注意缺少尾部';'抑制函數定義中的中間評估輸出。這些值將被打印出來,而不會在它們之間出現空格,而是在您報告時顯示。

但是,仍然不意味着4個輸出變量的值,如果你正確地調用函數,也許這樣是不正確返回:

[one,two,three,four] = fit(v1,v2) 

不過說真的,你怎麼能指望我們當你沒有發佈(足夠)你的代碼時回答你的問題?

+0

我已經通過添加功能更新了我的問題 – lola

+1

我無法重現您的問題。從你的Matlab命令窗口中刪除你用來調用你的函數的行(* ie *以行號開頭的行)和命令執行時返回的行,並將它們粘貼到你的問題中。 –