1樓:匿名使用者
你的這一句:
m2=strcat('e:\plif\c』,m1,'\',n1,'\',n1,'','-0000000',istr,'.bmp');
其中'e:\plif\c』
右邊的那個單引號是全形字元,所以導致引號匹配混亂,本來作為目錄分隔符的「\」被當作除號使用,所以導致出錯。
其實像你這個生成路徑名的語句完全可以寫成下面這樣的:
m2=sprintf('e:\\plif\\c%i\\%s\\%s-0000000%i.bmp',m,n1,n1,i);
或者,更簡練的
m2=sprintf('e:\\plif\\c%i\\%s\\%s-%07i%i.bmp',m,n1,n1,0,i);
幾點說明:
(1)前面的m1定義可以不要;
(2)printf系列函式的格式化字串以「\」和「%」作為格式控制符,需要「\」的地方應寫成「\\」,需要「%」的地方應寫成「%%」;
(3)如果整數轉換成字串希望帶前導0,可以使用類似這樣的用法:sprintf('%010i',i),其結果字串長度為10,如果i<1e9,則前面會補上相應個數的0;
(4)關於printf系列函式的格式化字串的其它規定,掌握了之後可以幫你靈活控制輸出格式,但話題比較大,一言難盡,感興趣可以再進一步研究,花點時間也是值得的。其實int2str之類的函式也是通過sprintf實現的。
2樓:
這一句出問題了:m2=strcat('e:\plif\c』,m1,'\',n1,'\',n1,'','-0000000',istr,'.bmp');
可以在前面重新定義一下常量字串:conststing = '-0000000';
然後這行改為
m2=strcat('e:\plif\c',m1,'\',n1,'\',n1,'',conststing,istr,'.bmp');
將不再報這個錯。
估計strcat函式處理的時候出了問題,最好裡面的都用字串變數不容易出錯
3樓:書宬
id(j)=mu(j)./mu(1); % mu(1)=0, 不能作為除數
4樓:匿名使用者
數列的維度不一樣,你檢查一下
matlab裡這段程式的意思,這段matlab程式是什麼意思
ii是一個bai 矩陣 你這裡是1行2列的矩陣 du ii 1 矩陣ii中的第一個元素zhi 按列優先原則排序dao ii 2 3 矩陣專ii中的第屬2到第3個元素組成新的矩陣。ii 2,3 矩陣ii的第二行,第三列的元素所以你的 的意思就是 定義ii 是一個1行2列的矩陣,兩個元素都是1迴圈兩次 ...
這段matlab程式是什麼意思這段matlab的程式是什麼意思啊
sys1 tf 1 0.4,1 inputdelay 0.76 dsys1 c2d sys1,ts,zoh num1,den1 tfdata dsys1,v sys1 tf 1 0.4,1 inputdelay 0.76 系統傳遞函式 dsys1 c2d sys1,ts,zoh 轉化成dz函式 nu...
請問這段程式是什麼意思,這段matlab程式是什麼意思
if bai i 5 printf n 當 i 等於du 5,zhi10,15,20 時,i 能被dao5 除盡,這時,i 5 等於 0,i 5 等於 1,這時,條件語回句 條件 為 真,於 答是 執行 printf n 也就是換一行。迴圈語句 i 1,步長 1,迴圈到 24,i 等於 5,10,1...