鬱悶了,測試一段很簡單的程序,就是上面這樣的錯誤,代碼如下:
proFileName = 'TheChVector';
pixName = '.mat';
strNum = num2str(seperateNum);
saveFile = strcat(proFileName, strNum,pixName);
chVector = ........%此處就省略了啊,反正要保存chVector變量
save(saveFile, chVector);% error:Argument must contain a string.
不知道這個問題是不是因爲太弱了,網上居然就木有提問的……好吧,自己解決,弱就弱,反正記下來,省的忘了。
save函數把所有參數當做變量,而非“變量名”考慮,比如,變量中有個x='here', 然後你要保存x這個變量,如果只寫save(filename, x)的時候,系統就會尋找名爲“here”的變量,如果沒有就會報錯(這時你真的很幸運), 否則就會保存你不想保存的內容。此時,要想保存真正的x,就要這樣寫: save(filename,‘x’)
同理,對於保存的文件名也一樣,如果是直接的內容就好辦,但是如果是其他的變量char文件名,加‘’括起來就好了。
上述更改爲:
save('saveFile', 'chVector');