資源描述:
《matlab輸入輸出控制》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、輸入/輸出控制第七章學(xué)習(xí)目的用戶如何在M文件中輸入數(shù)據(jù)用函數(shù)disp顯示輸出結(jié)果輸出格式化數(shù)據(jù)fprintfsprintf利用圖形提供程序輸入利用元胞模式修改和運行M文件程序一.自定義輸入假設(shè)已經(jīng)編寫好一個腳本程序,存為M文件,程序人員和用戶是一個人。若要改變程序中輸入變量的值,就必須修改部分程序代碼。input——在程序運行過程中提示用戶從鍵盤輸入數(shù)據(jù)矩陣函數(shù)input在程序運行過程中提示用戶輸入信息結(jié)果在命令窗口顯示輸入接收各種數(shù)據(jù)標(biāo)量矩陣必須加方括號字符串必須加上單引號或者在input的第二個輸入?yún)?shù)中限定為輸入字符串’s’輸入矩陣輸入字符運
2、行該程序2次,一次輸入一次輸出在input的第二個輸入?yún)?shù)中限定輸入為字符串例7.1自由落體物體在重力作用下做自由落體運動計算自由下落的距離公式為d=自由下落的距離;g=重力加速度;t=下落時間由用戶輸入重力加速度g和時間矢量手工分析MATLAB實現(xiàn)二.輸出直接輸入顯示函數(shù):disp——既可以顯示字符型數(shù)組,也可以顯示數(shù)值型數(shù)組格式化輸出:fprintf格式化輸出:sprintf1.顯示函數(shù)disp函數(shù)disp以單個數(shù)組為輸入?yún)?shù),不需輸入矩陣名就可以顯示矩陣的值disp還可以顯示字符串(文本內(nèi)容要用單引號)字符型數(shù)組可以存儲字符信息變量是個字符型
3、數(shù)組每個顯示函數(shù)的顯示內(nèi)容都單獨使用一行字符型數(shù)組與數(shù)值型數(shù)組類似,它可以存儲字符信息。字母、數(shù)字、標(biāo)點甚至一些無法顯示的符號都可以當(dāng)成字符。包括空格在內(nèi),每個字符都是數(shù)組中的一個元素因為disp函數(shù)只存在一個輸入,必須通過數(shù)組的合并產(chǎn)生多個輸出結(jié)果每個顯示函數(shù)的顯示內(nèi)容都單獨使用一行。使用函數(shù)num2str(數(shù)值到字符)可以把兩次輸出的內(nèi)容合并成一個矩陣,這個過程稱為級聯(lián)。函數(shù)num2str可以把數(shù)值型數(shù)據(jù)轉(zhuǎn)換成字符型數(shù)據(jù)disp(['Thevaluesinthexarrayare:'num2str(x)])先用函數(shù)num2str把矩陣x轉(zhuǎn)化成字
4、符型數(shù)組,然后再和第一個字符串(方括號中的內(nèi)容)合并成一個大的字符型數(shù)組矩陣的類型是字符型而不是數(shù)據(jù)型注意事項:若果在字符串中包含引號,則要輸入兩個引號否則,MATLAB會把單引號看成是字符串的結(jié)束標(biāo)志.舉例:disp('Themoon''sgravityis1/6ththatoftheearth')利用函數(shù)input和disp模仿對話內(nèi)容如果函數(shù)pause沒有輸入?yún)?shù),那么程序會中止運行,直到按任何鍵繼續(xù)。如果pause有輸入?yún)?shù),則程序會根據(jù)輸入?yún)?shù)暫停數(shù)秒后繼續(xù)執(zhí)行2.格式化輸出——函數(shù)fprintf函數(shù)fprintf的輸出格式比函數(shù)disp
5、有更嚴(yán)格的要求可以顯示文本信息和數(shù)據(jù)矩陣可以指定數(shù)據(jù)的顯示格式fprintf兩個輸入?yún)?shù)字符串包含一個占位符(%)。占位符不但指定了輸出的格式,還表明了變量輸出的位置。矩陣列表控制數(shù)據(jù)輸出的寬度和精度變量字符顯示的最小寬度是8位小數(shù)點之后有2位數(shù)字也可以使用指數(shù)格式X是個矩陣使用/n進行換行盡管看起來像一行,計算機仍然把矩陣看做一個大數(shù)據(jù)表,每次按一列運行注意事項:在使用函數(shù)fprintf時,初學(xué)者常犯的錯誤是忘記在占位符后輸入域類型標(biāo)示,如f,這樣函數(shù)將不會正常工作,而且還不會給出錯誤提示。若函數(shù)fprintf語句中包含%,則需要輸入兩次%,其中
6、第一個%為占位符。fprintf('Theinterestrateis%5.2f%%',5)resultsin:Theinterestrateis5.00%例子:寫一個M文件,用disp創(chuàng)建一個角度到弧度的換算表輸入提示用戶輸入范圍內(nèi)的任意數(shù)值文件名為合法字符文件名對文件進行寫操作首先創(chuàng)建輸出文件,然后用函數(shù)fopen打開該文件,同時給打開的文件分配一個文件標(biāo)識符(即文件的別名)要打開的文件名對文件進行寫操作如果能夠正確打開這個輸出文件,并且已經(jīng)給該文件分配了文件標(biāo)識符,就可以把這個文件標(biāo)識符作為函數(shù)fprintf的第一個輸入?yún)?shù)按照指定格式把
7、數(shù)據(jù)寫入到文件中這種函數(shù)格式將字符串寫入文件my_output_file.txt3.格式化輸出——sprintfsprintf和fprintf功能類似,用來對圖形進行注釋。不同之處在于,函數(shù)sprintf是首先格式化輸出到字符串,然后再返回到命令窗口中去。而函數(shù)fprintf是格式化到文件。fprintf是格式化到文件sprintf是首先格式化輸出到字符串,然后再返回到命令窗口中去三.圖形輸入允許以圖形的方式輸入坐標(biāo)x和y的值ginput——允許用戶在圖形窗口中任選一點,并將該點的位置轉(zhuǎn)換成確切的x和y的坐標(biāo)值。ginput[x,y]=ginput
8、不輸入n值時,MATLAB會獲取按回車鍵時所對應(yīng)的點的坐標(biāo)[x,y]=ginput(n)要求用戶在圖形窗口中任選n個點Fl