-3
我試圖將正整數的單元格數組打印爲空格分隔的字符串。我寫了下面的函數,該函數的目的:連接單元格數組的字符串導致不可打印的字符
function string = cell2str(cellArray)
cellStrings = cellfun(@(i){[num2str(i) ' ']}, cellArray);
string = strtrim(horzcat(cellStrings{:}));
end
當我運行報表逐一在Matlab外殼,這個工程,我期望的那樣。但只要我自己調用函數,返回值就是一個不可打印的字符串,它只是在shell中顯示爲一個正方形。這裏發生了什麼? (建議,以改善功能的歡迎和)
這是個什麼樣子,當我運行它像(相同的結果,無論我有多少個字符放入輸入單元陣列):
>> cell2str({6})
ans =
□
旁註;爲什麼我不能像往常一樣將此函數放置在名爲'private'的子目錄中?當我從MatLab shell中調用函數時,我只得到Undefined function 'cell2str' for input argument of type 'cell'.
我不能重現錯誤,你的函數似乎工作正常。你還想提供一個打印輸出,告訴你如何在終端中調用它(包括你給它的輸入)和它給出的輸出嗎? –
調用此函數似乎適用於我。它按預期的方式返回字符串。你怎麼稱呼它?把它放在一個私有的subdir中時,你的問題是什麼? – bushmills
至於'私人'subdir問題,我假設你正試圖從腳本訪問它。 「私人」功能只能從其他功能中看到。 (但是我們已經進入了「猜謎遊戲」的領域,請重寫你的問題以說明問題,不要猜測) –