




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Matlab常見問題匯總(精)371.良好的編程習(xí)慣,程序文件開頭一般添加復(fù)位的命令clear%清除內(nèi)存變量clc%清除屏幕close all%關(guān)閉所有圖像窗口2.讀取文件的數(shù)據(jù)actinfo0=importdata('Lincese1actinfo.dat');% 讀取Lincese1文件夾下actinfo.dat文件的數(shù)據(jù)3. 獲得當(dāng)前電腦主機(jī)名a,hostname0=dos('hostname');4.判斷兩個(gè)字符串是否相同,字符匹配strcmp('3455','3455') %判斷兩個(gè)字符串是否完全匹配strncmp(
2、39;3455','3455',3)%判斷兩個(gè)字符串的前n個(gè)字符是否匹配5. 讀取圖片三維數(shù)據(jù),顯示圖片p1=imread(pathicon);%獲得和讀取圖片三維數(shù)據(jù)image(p1)%顯示圖片6.字符類型轉(zhuǎn)換小結(jié)dircell=struct2cell();%結(jié)構(gòu)型轉(zhuǎn)變?yōu)榘愋蚷dchushi=char();%轉(zhuǎn)變?yōu)樽址袷絠ndexstr=num2str(index);%數(shù)值型轉(zhuǎn)變?yōu)樽址産index=str2num(cell2mat(zbindex); %字符串轉(zhuǎn)變?yōu)閿?shù)值型suoyoudata3=cell2mat(dqjcidsuoyoudata(:,9:end
3、); %胞元轉(zhuǎn)變?yōu)閐obule數(shù)值型str2double(zbbzlowi)%字符串轉(zhuǎn)變?yōu)閿?shù)值型7.獲得文件夾下的文件名dir('picture1*')% 獲得picture1文件夾下的所有文件名dir('picture1*.jpg') % 獲得picture1文件夾下的JPG格式的所有文件名8.設(shè)置圖形窗口名稱、是否顯示工具欄菜單欄,是否可以縮放set(f,'toolbar','none','menubar','none','color',0.7 1 0.6,'resize
4、','off','name','Activation');9.彈出窗口,警告信息msgbox('軟件已經(jīng)在其他電腦上安裝并激活,無法在本電腦上使用','錯(cuò)誤信息','error');相似的命令還有:dialog, errordlg, helpdlg, inputdlg, listdlg, questdlg, warndlg10.修改GUI界面或者圖形窗口左上角的matlab系統(tǒng)默認(rèn)圖標(biāo)javaFrame=get(f,'JavaFrame');javaFrame.setFigu
5、reIcon(javax.swing.ImageIcon(pathicon);11.設(shè)置GUI界面或者圖形窗口的菜單項(xiàng)和子菜單項(xiàng)目%設(shè)置菜單項(xiàng)menufile=uimenu('label','文件');meunhelp=uimenu('label','幫助');%設(shè)置菜單子項(xiàng)menustart_item1=uimenu(menufile,'label', '新建','callback','clear,clc,close,', function);menustart_i
6、tem2=uimenu(menufile,'label', '打開','callback','clear,clc,close,',function);12. 設(shè)置GUI界面或者圖形窗口的背景圖片icon=axes('position',0 0 1 1,'units','normalized');uistack(icon,'down');picture=imread(pathbackground);image(picture);colormap grayset(icon
7、,'handlevisibility','off','visible','off');13. 設(shè)置GUI界面或者圖形窗口的各類控件b_exit=uicontrol(gcf,'style','pushbutton','string','退出','units','normalized','position',0.75 0.2 0.18 0.08,'fontsize',12,'backgroundcol
8、or','w','callback','clear,clc,close');14讀取txt格式文件數(shù)據(jù)textread(idstartpath)textread(idstartpath,'%s')%以字符型格式讀取15.字母a-z,A-Z的簡(jiǎn)便表示方法char(65:90,97:122) % a-z,A-Z16.刪除文件夾下的某個(gè)文件path1='Lincese1edocs','.dat'%文件路徑delete(path1);% 刪除文件17.文件的打開,寫入,關(guān)閉file=fopen(pa
9、th1,'w');fprintf(file,'%c',ss); fclose(file);18.設(shè)置和獲得GUI控件的屬性set(jielunkj,'string',OK);%設(shè)置控件句柄為jielunkj的名稱為OKget(zhishideng,'backgroundcolor') %獲得控件的背景顏色get(brun2,'string'); %獲得控件的名稱字符set(zhishideng,'backgroundcolor',1 1 0); %設(shè)置控件的背景顏色19.時(shí)間類型,獲得當(dāng)前時(shí)間now
10、%獲得當(dāng)前時(shí)間cidcjsjdata=datestr(now,31);%當(dāng)前時(shí)間的char字符型shijiandian=datenum(shijiandian);%轉(zhuǎn)變成時(shí)間格式,以小時(shí)為單位類似的命令還有:clock, date20.判斷是否的命令isempty(index) %判斷該變量是否為空exist('yichangxxjl','var') %判斷該變量yichangxxjl是否存在ishandle(hwarn) %判斷該變量hwarn是否是句柄類似的命令還有:ismember, issorted21.延時(shí),或者暫停2秒鐘pause(2);pause2
11、2.保存變量到文件中%保存變量idchushi到以idstartpath為路徑的文件中dlmwrite(idstartpath,idchushi,'%s')23.簡(jiǎn)單的GUI界面fyc=figure;set(fyc,'toolbar','none','menubar','none','position',370 130 620 540);set(fyc,'numbertitle','off','name',item3yc);24.對(duì)變量進(jìn)行排序,獲得將
12、序排列的向量和原始位置索引ppdu,ppindex=sort(rateij,'descend');25.兩個(gè)向量取交集intersect(childhindex1,childhindex2);26.計(jì)時(shí)器,獲取程序運(yùn)行時(shí)間tic%計(jì)算程序運(yùn)行的時(shí)間,兩個(gè)命令成對(duì)使用toc27.圖像分區(qū)域顯示axe1=axes('units','normalized','position',0 0 1 1,'parent',panel2);subplot(231)subplot(232)subplot(233)subplot(234
13、)subplot(235)subplot(236)28.matlab運(yùn)用JDBC方式連接SQL數(shù)據(jù)庫,并讀取數(shù)據(jù)%在Matlab用JDBC驅(qū)動(dòng)連接SQL Server 2008(其他僅連接符url和driver不同)%在運(yùn)行此段代碼前先確保配置好了JDBC驅(qū)動(dòng),方法如下:%1.Microsoft官網(wǎng)下載sqljdbc3.0驅(qū)動(dòng)Microsoft SQL Server JDBC Driver 2.0.exe(4M左右)%2.解壓后能看到sqljdbc4.jar和sqljdbc.jar文件,針對(duì)電腦上JDK的版本選擇導(dǎo)入文件,如JDK6.0導(dǎo)入sqljdbc4.jar%3.在command win
14、dows中輸入:edit classpath.txt 打開路徑配置文件 在文件最后一行添加sqljdbc4.jar的完整路徑,%(不能同時(shí)加載sqljdbc4.jar和sqljdbc.jar的路徑,否則不能正常連接數(shù)據(jù)庫)。%4.在SQL Server中新建一個(gè)登錄名sa,并設(shè)置密碼為1214%5.采用如下代碼在Matlab中連接SQL Server 2008clear;clc;close;databasename='test' %數(shù)據(jù)源名稱username='sa' %登錄名password='1214' %密碼driver='com.
15、microsoft.sqlserver.jdbc.SQLServerDriver'databaseurl='jdbc:sqlserver:/localhost:1433;database=',databasename;conn = database(databasename,username,password,driver,databaseurl)ping(conn)tic%搜索條件sqlquery='select * from tabeltest'% sqlquery='select * from stock where id= '
16、39;1'''curs=exec(conn,sqlquery)curs=fetch(curs)%輸出前幾條記錄% curs = fetch(curs, 3)% % 外部輸入關(guān)鍵字搜索% Userid = input('Enter your id: ', 's')% curs = exec(conn, 'select * from stock where id= ''', Userid, '''')%設(shè)置檢索結(jié)果的格式setdbprefs('DataReturnForm
17、at','cellarray')%numeric、cellarray%行數(shù)、列數(shù)、字段名numrows=rows(curs)numcols=cols(curs)colnames=columnnames(curs)%字段名colsize = width(curs,2)%第二列字段寬度attributes = attr(curs,1)%第一列字段的屬性data=curs.data% %修改記錄% colnames = 'name', 'price'% newdata='lrz','158'% whereclau
18、se = 'where id = ''12'''% update(conn, 'stock', colnames, newdata, whereclause)% %插入記錄% c='limingming' , '2014-3-24 00:00:00' , '12' , '12' , '12.14'% insert(conn,'stock','name','time','price',
19、9;int1','float1',c)% exec(conn,'rollback')% exec(conn,'commit')toc%關(guān)閉連接close(curs)close(conn)%遠(yuǎn)程服務(wù)器連接程序示例:databasename='zxdata' %數(shù)據(jù)源名稱username='sa' %登錄名password='1234' %密碼driver='com.microsoft.sqlserver.jdbc.SQLServerDriver'%驅(qū)動(dòng)程序databaseurl
20、='jdbc:sqlserver:/28:1433;database=',databasename;%其中28為所要讀取遠(yuǎn)程服務(wù)器的公網(wǎng)IP地址conn = database(databasename,username,password,driver,databaseurl);%建立連接sqlquery='SELECT TOP 1 id FROM zxmain order by id desc'%SQL操作語句curs=exec(conn,sqlquery);%執(zhí)行操作curs=fetch(curs);coln
21、amesy=columnnames(curs);%字段名datay=curs.data;%獲得數(shù)據(jù)close(curs);%關(guān)閉連接close(conn);%注:matlab用JDBC讀取數(shù)據(jù)庫需要配置相關(guān)工具箱29.符號(hào)函數(shù)Ft=(t)0*t;%初始化ft=(t)0*t;Ft=(t)1-exp(-(t/theta).beta);%括號(hào)內(nèi)為自變量ft=(t)(beta/theta)*(t/theta).(beta-1).*(exp(-(t/theta).beta);%符號(hào)函數(shù)的求解過程F=(beta)1/beta+sum(sigma111.*log(fault111)/r-sum(fault1
22、11.(beta).*log(fault111)/(sum(fault111.(beta);beta=fsolve(F,1);30.matlab 圖像作圖改坐標(biāo)1. 問:橫坐標(biāo)是0;80,縱坐標(biāo)0;100,我想改成0;0.8和0;1.0,但是圖形大小不會(huì)隨坐標(biāo)的比例縮小而改變。該用什么命令?最佳答案:x=0:80; y=1.25*x; plot(x,y)set(gca,'XTickLabel',str2num(get(gca,'XTickLabel')/100);set(gca,'YTickLabel',str2num(get(gca,'
23、YTickLabel')/100);2.修改matlab輸出圖形的橫坐標(biāo)?問:如何通過程序僅修改matlab輸出圖形的橫坐標(biāo)?比如我在編完一段程序之后,輸出圖形,其橫坐標(biāo)為1 2 3 4 5 6 7 8 9 10現(xiàn)在,我想通過程序使橫坐標(biāo)相應(yīng)的放大一定倍數(shù),而原來的曲線形狀保持不變,也就是想要得到的橫坐標(biāo)為2 4 6 8 10 12 14 16 18 20答:x=1 2 3 4 5 6 7 8 9 10;plot(x)xt=2 4 6 8 10 12 14 16 18 20;set(gca,'xtick',xt)set(gca,'xticklabel',
24、xt)axis(2 10 1 10)3.matlab繪圖如何讓坐標(biāo)軸上的數(shù)字變?yōu)樽址??比如y軸是1的位置變?yōu)閒irst,不是用text命令要全部覆蓋,知道怎樣實(shí)現(xiàn)?最佳答案舉個(gè)例子 %先畫個(gè)圖 x=0:.1:5; y=exp(x); plot(x,y); %下面定義x軸的刻度 set(gca,'XTick',1:5) %下面是x軸的刻度值 set(gca,'XTickLabel','one','two','three','four','five')4.matlab中坐標(biāo)軸移動(dòng)問:刻度
25、要標(biāo)示在y=0這條直線上?最佳答案:x=-5:0.01:5;y=sin(pi*x/2(1/2);plot(x,y),hold onbox offplot(-5,5,0,0,'k');x = get(gca,'XTick');Lx = get(gca,'XTickLabel');y = zeros(size(x)-0.1;text(x,y,Lx);5.matlab 中我的x軸坐標(biāo)是自動(dòng)顯示為1,2,3,.,10,我想改成10,7,5,4,1怎么改? 問題補(bǔ)充:我的題目是 x從10 到0.1變化的,計(jì)算完后,從10到0.1畫圖,并且x坐標(biāo)標(biāo)定為10,
26、2,0.4,0.1四點(diǎn)即可!請(qǐng)教高手幫忙!就這么點(diǎn)積分了!謝謝!最佳答案 x=0.1:0.1:10;plot(x,x.2)set(gca,'XTick',0.1,10.1-2,10.1-0.4,10)set(gca,'XTicklabel',10,2,0.4,0.1)%注:get(gca)可以知道axes里面的所有屬性想怎么改就怎么改31.Figure圖像圖形的位置scrsz = get(0,'ScreenSize');figure('Position',1 scrsz(4)/2 scrsz(3)/2 scrsz(4)/2)32.
27、遞歸運(yùn)算示例建立control555.m的M文件function y=control555(x)if x=1 y=1;else y=x*control555(x-1);end然后在命令窗口中輸入>> control555(5)ans = 12033.圖像箭頭指示文字,作圖上添加文字并用箭頭指示plot(0:2*pi,sin(0:2*pi),text(pi,0,' leftarrow sin(pi)','FontSize',18)34.GUI上添加表格和使用方法 matlab 中uitable的簡(jiǎn)單使用1、往表格里寫數(shù)據(jù),將數(shù)據(jù)初始化成cell格式。用
28、最笨的循環(huán)方式,dat(i,j)='0'用set命令初始化表格,使其可編輯set(handles.uitable,'ColumnName', columnname,.'data',dat,.'ColumnEditable', true);2、取出表格里的數(shù)據(jù)inputdata=get(handles.uitable,'data')。將cell型數(shù)據(jù)轉(zhuǎn)換成符號(hào)矩陣,定義一個(gè)子函數(shù)的方式。其中bolicdefine是一個(gè)m文件,在里面把要用到的用于計(jì)算的符號(hào)變量定義好。用symsfunction outsyms=tra
29、nsfer(instr)bolicdefinesi=size(instr,1);sj=size(instr,2);for j=1:sj;for i=1:si;outsyms(i,j)=eval(instri,j); %注意括號(hào)是endend3、將符號(hào)矩陣轉(zhuǎn)換成數(shù)字矩陣。也是用定義一個(gè)子函數(shù)的方式。其中 paras是一個(gè)m文件,在里面把要用到的用于計(jì)算的符號(hào)變量的值全部定義好function outnum=transsyms2num(insyms)parassi=size(insyms,1);sj=size(insyms,2);for j=1:sj;for i=1:si;outnum(i,j)=
30、eval(insyms(i,j); %注意括號(hào)是()endend這樣可以實(shí)現(xiàn),但是矩陣維數(shù)較大的時(shí)候,運(yùn)算比較慢4.matlab GUI中處理選中的表格數(shù)據(jù)用法:1、uitable(numrows,numcolumns)建立指定行數(shù)和列數(shù)的表格2、uitable(data,columnNames)建立指定行名稱和數(shù)據(jù)的的表格3、uitable(PropertyName1,Value1,¨¨)建立指定的屬性名稱和屬性值的表格,屬性名稱和屬性值:Column names字符串細(xì)胞數(shù)組來定義窗體的名稱Data以細(xì)胞數(shù)組值來定義顯示在窗體內(nèi)的數(shù)據(jù)內(nèi)容GridColor以顏色值或RG
31、B向量來定義uitable內(nèi)網(wǎng)格的顏色NumColumns以整數(shù)來定義窗體的行數(shù)NumRows以整數(shù)來定義窗體的列數(shù)Parent父窗口的句柄值,如果未定義,自動(dòng)設(shè)為gcfPsition以四元素的向量定義uitable的位置ColumnWidth以整數(shù)來定義窗體的行寬RowHeight以整數(shù)來定義窗體的列高Editable以布爾數(shù)指定行是否可編輯(默認(rèn)為1:可編輯)Units指定單位,有pixels,normalized,inches,points和centimeters5種Visible以布爾數(shù)指定窗體是否可見(默認(rèn)為1:可見)DataChangedCallbackCallback函數(shù)的名稱或
32、者該函數(shù)的句柄值35.Matlab之對(duì)話框匯總1. 消息對(duì)話框msgbox函數(shù)。它不接受用戶的任何輸入,在用戶單擊OK按鈕后,對(duì)話框自動(dòng)關(guān)閉,然后返回程序中繼續(xù)執(zhí)行。>> msgbox('歡迎使用MATLAB') % 建立一個(gè)沒有標(biāo)題的消息對(duì)話框>> msgbox('歡迎使用MATLAB','MATALB','warn') % 建立一個(gè)有標(biāo)題的消息對(duì)話框2. 錯(cuò)誤對(duì)話框errordlg函數(shù)。 >> errordlg %建立一個(gè)默認(rèn)參數(shù)的錯(cuò)誤對(duì)話框>> errordlg('這是
33、一個(gè)錯(cuò)誤對(duì)話框','MATLAB error') %建立一個(gè)名為MATLAB error的錯(cuò)誤對(duì)話框3. 警告對(duì)話框warndlg函數(shù)。 >> warndlg %建立一個(gè)默認(rèn)參數(shù)的警告對(duì)話框>> errordlg('這是一個(gè)警告對(duì)話框','MATLAB warning')4. 幫助對(duì)話框helpdlg函數(shù)。>> helpdlg('你需要幫助嗎?','MATLAB Help')5. 進(jìn)度條設(shè)置對(duì)話框waitbar函數(shù)。作用是反映程序運(yùn)行的完成情況。h=waitbar(0,&
34、#39;請(qǐng)稍等.')for i=1:10000waitbar(i/10000)end 6.輸入對(duì)話框inputdlg函數(shù)。prompt='輸入自變量x:','輸入自變量y','輸入自變量z'%設(shè)置提示字符串name='Enter trapeaia Data'%設(shè)置標(biāo)題numlines=1;%指定輸入數(shù)據(jù)的行數(shù)defAns='20','50','40'%設(shè)定默認(rèn)值Resize='on'%設(shè)定對(duì)話框尺寸可調(diào)節(jié)answer=inputdlg(prompt,name,
35、numlines,defAns,'on')%創(chuàng)建輸入對(duì)話框7. 列表對(duì)話框listdlg函數(shù)。p=path(path,'C:MATLAB7 work');%設(shè)置路徑,若為當(dāng)前目錄,可以省略這一步d=dir('C:MATLAB7work');%獲取指針,若為當(dāng)前目錄,則d=dirstr=;%獲取目錄內(nèi)的文件名sel,ok=listdlg('Liststring',str,'PromptString','請(qǐng)選擇文件 ','SelectionMode','Multipl
36、e')%創(chuàng)建列表對(duì)話框。文件選擇成功后,單擊“OK按鈕,系統(tǒng)將選擇好的文件序號(hào)存入相應(yīng)向量sel,參數(shù)ok的值為1。8.問題對(duì)話框questdlg函數(shù)。提出一個(gè)問題,等待用戶回答。默認(rèn)下回答按鈕有三個(gè):Yes、No、Cancel。當(dāng)用戶單擊任何一個(gè)按鈕時(shí),系統(tǒng)將該按鈕名保存在一個(gè)變量(ButtonName)中。如果用戶關(guān)閉對(duì)話框,則系統(tǒng)將ButtonName置為空。>> ButtonName=questdlg('你準(zhǔn)備好了嗎?','MATLAB quest','Yes','No','Cancel'
37、;,'Yes')9.路徑選擇對(duì)話框uigedir函數(shù)。用于用戶查找和選擇路徑。>> directoryname=uigetdir('C:MATLAB7work','瀏覽文件件')10.選擇文件對(duì)話框uigetfile函數(shù)。用于用戶選擇所需的文件。 >> fn,pn,fi=uigetfile('*.m','select a M-file')%打開一個(gè)選擇M文件的對(duì)話框,并選擇一個(gè)文件 fn,pn,fi=uigetfile(.'*.m;*.fig;*.mat;','All
38、 MATLAB File(*.m,*.fig,*.mat,*.mdl)''*.m','M-file(*.m)'.'*.fig','Figure(*.fig)'.'*.mat','MAT-flie(*.mat)'.'*.mdl','Models(*.mdl)'.'*.*','All Flies(*.*)',.'Pick a file')%打開一個(gè)選擇多種文件的對(duì)話框,并選擇一個(gè)文件11.文件保存對(duì)話框uiputfi
39、le函數(shù)。用于保存文件。 >> fn,pn,fi=uiputfile('*.m','Save selected a M-file') fn,pn,fi=uiputfile(.'*.m;*.fig;*.mat;','All MATLAB File(*.m,*.fig,*.mat,*.mdl)''*.m','M-file(*.m)'.'*.fig','Figure(*.fig)'.'*.mat','MAT-flie(*.mat)'
40、;.'*.mdl','Models(*.mdl)'.'*.*','All Flies(*.*)',.'Save a file')%建立多種保存文件的對(duì)話框,并選擇一個(gè)文件12.頁面設(shè)置對(duì)話框pagesetupdlg 函數(shù)。用來設(shè)置頁面的各種屬性、參數(shù)。調(diào)用格式為:dlg=pagesetupdlg(fig)該命令創(chuàng)建一個(gè)頁面設(shè)置對(duì)話框,在該對(duì)話框用戶可以設(shè)置頁面的各種屬性和參數(shù)。該命令只支持單一圖形窗口的頁面設(shè)置,參數(shù)fig也必須是單一的圖形句柄,不可以是圖形句柄向量或 simulink圖。>> fig=
41、figure;>> dlg=pagesetupdlg(fig)13.打印設(shè)置對(duì)話框printdlg 函數(shù)。用戶可以對(duì)各種打印參數(shù)進(jìn)行設(shè)置。x=-pi:0.02:pi;y=cos(x);fig=figure;plot(x,y);printdlg(fig);%打開Windows打印對(duì)話框printdlg('-crossplatform',fig);%打開MATLAB打印對(duì)話框14.顏色設(shè)置對(duì)話框uisetcolor 函數(shù)。用于用戶設(shè)置圖形的前景色或背景色。 >> c=uisetcolor %建立一個(gè)顏色選擇對(duì)話框 %建立一個(gè)顏色對(duì)話框,并設(shè)置對(duì)話框的初始顏色
42、,然后選擇一種顏色用于一個(gè)圖形對(duì)象。x=0:0.02:2*pi;y=sin(x);h=figure;plot(x,y);c=uisetcolor(h,'select color')15. 字體設(shè)置對(duì)話框uisetfont函數(shù)。用于用戶設(shè)置或修改文本字體、坐標(biāo)軸或設(shè)置控件對(duì)象的顯示文本的字體屬性。 >> s=uisetfont % 建立一個(gè)默認(rèn)字體設(shè)置對(duì)話框,并設(shè)置一種字體。 對(duì)控件中的文本進(jìn)行設(shè)置T1=uicontrol('style','pushbutton','string','確定',.'
43、position',200 320 60 20); %創(chuàng)建一個(gè)按鈕T2=uicontrol('style','pushbutton','string','取消',.'position',200 220 60 20); %創(chuàng)建一個(gè)按鈕s=uisetfont(T1) %打開字體設(shè)置對(duì)話框set(T2,s) %將T1的設(shè)置復(fù)制到T236.安裝工具箱方法當(dāng)然如果你對(duì)Matlab的命令比較熟悉的話,你可以直接使用命令進(jìn)行工具箱安裝操作,方法如下(1)將工具箱解壓到任意路徑,但是推薦MatlabRoot下的Toolbo
44、x中(2)在Matlab中輸入1.>>addpath('Your_ToolBox_Full_Path')%注意必須是文件夾路徑2.>>savepath(3)更新搜索目錄,可使用上面的界面操作,當(dāng)然也可以命令行1.rehash toolboxcache37.發(fā)聲sp=actxserver('SAPI.SpVoice');sp.Speak('hello, world')sp.Speak('人之初,性本善,性相近,習(xí)相遠(yuǎn)')38.歸一化三種方法在matlab里面,用于歸一化的方法共有三種 :(1)用matlab語
45、言自己編程,通常使用的函數(shù)有以下幾種:1.線性函數(shù)轉(zhuǎn)換,表達(dá)式如下:y=(x-MinValue)/(MaxValue-MinValue) (歸一到0 1 之間)y=0.1+(x-min)/(max-min)*(0.9-0.1)(歸一到0.1-0.9之間)說明:x、y分別為轉(zhuǎn)換前、后的值,MaxValue、MinValue分別為樣本的最大值和最小值。(2)premnmx、tramnmx、postmnmx、mapminmaxpremnmx函數(shù)用于將神經(jīng)網(wǎng)絡(luò)的輸入數(shù)據(jù)或輸出數(shù)據(jù)進(jìn)行歸一化,歸一化后的數(shù)據(jù)將分布在-1,1區(qū)間內(nèi)。premnmx語句的語法格式是:Pn,minp,maxp,Tn,mint,
46、maxt=premnmx(P,T),其中P,T分別為原始輸入和輸出數(shù)據(jù)。在訓(xùn)練網(wǎng)絡(luò)時(shí)如果所用的是經(jīng)過歸一化的樣本數(shù)據(jù),那么以后使用網(wǎng)絡(luò)時(shí)所用的新數(shù)據(jù)也應(yīng)該和樣本數(shù)據(jù)接受相同的預(yù)處理,這就要用到tramnmx函數(shù):tramnmx語句的語法格式是:PN=tramnmx(P,minp,maxp)其中P和PN分別為變換前、后的輸入數(shù)據(jù),maxp和minp分別為premnmx函數(shù)找到的最大值和最小值。網(wǎng)絡(luò)輸出結(jié)果需要進(jìn)行反歸一化還原成原始的數(shù)據(jù),常用的函數(shù)是:postmnmx。postmnmx語句的語法格式是:PN = postmnmx(P,minp,maxp)其中P和PN分別為變換前、后的輸入數(shù)據(jù),m
47、axp和minp分別為premnmx函數(shù)找到的最大值和最小值。還有一個(gè)函數(shù)是mapminmax,該函數(shù)可以把矩陣的每一行歸一到-1 1.mapminmax語句的語法格式是:y1,PS = mapminmax(x1)其中x1 是需要?dú)w一的矩陣 y1是結(jié)果。當(dāng)需要對(duì)另外一組數(shù)據(jù)做歸一時(shí),就可以用下面的方法做相同的歸一了y2 = mapminmax('apply',x2,PS)當(dāng)需要把歸一的數(shù)據(jù)還原時(shí),可以用以下命令:x1_again = mapminmax('reverse',y1,PS) (3)prestd、poststd、trastdprestd歸一到單位方差和
48、零均值。pminp和maxp分別為P中的最小值和最大值。mint和maxt分別為T的最小值和最大值。39擬合與回歸函數(shù)命令小結(jié)多元線性回歸regress一對(duì)一的擬合ployfit多元多項(xiàng)式回歸rstool自定義模型回歸nlinfit剔除奇異點(diǎn)的擬合robust擬合工具界面cftool40消除運(yùn)行MATLAB生成的exe程序的dos黑屏的辦法基于MATLAB生成exe文件后,每次運(yùn)行都存在dos黑屏的問題,現(xiàn)在可以通過以下方法解決:方法一:直接用mcc e filename方法二: 在命令窗口輸入:cd(prefdir)edit compopts.bat在打開的文件最后添加以下語句:A.VC環(huán)境
49、下:set LINKFLAGS=%LINKFLAGS%/SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartupB.LCC環(huán)境下:set LINKFLAGS=%LINKFLAGS% -subsystemwindowsC. Borland:set LINKFLAGS=%LINKFLAGS% -aa保存以后,再重新編譯m文件,生成的exe文件運(yùn)行起來就沒有dos窗口了41在使用LaTex字符,標(biāo)注、等字符的方法1.Tex字符表在text對(duì)象的函數(shù)中(函數(shù)title、xlabel、ylabel、zlabel或text),說明文字除使用標(biāo)準(zhǔn)的ASCII字符外,還可使用LaTeX格
50、式的控制字符,這樣就可以在圖形上添加希臘字母、數(shù)學(xué)符號(hào)及公式等內(nèi)容。例如,text(0.3,0.5,'sin(omegat+beta)','Fontsize',30)將在圖形窗口的(0.3,0.5)位置得到標(biāo)注效果sin(t+)。Tex字符在輸出一些數(shù)學(xué)公式時(shí)經(jīng)常使用,它只能由類型為text的對(duì)象創(chuàng)建。函數(shù)title、xlabel、ylabel、zlabel或text都能創(chuàng)建一個(gè)text對(duì)象,因此Tex字符轉(zhuǎn)義符(帶“”的字符串)經(jīng)常作為這些函數(shù)的輸入?yún)?shù)。Tex字符及其函數(shù)見下表。函數(shù)字符代表符號(hào)函數(shù)字符代表符號(hào)函數(shù)字符代表符號(hào)alphaaupsilonusi
51、mbetabphifleq£gammagchicinfty¥deltadpsiYclubsuit§epsiloneomegawdiamondsuit¨zetazGammaGheartsuit©etahDeltaDspadesuitªthetaqThetaQleftrightarrow«varthetaJLambdaLleftarrow¬iotaiXiXuparrowkappakPiPrightarrow®lambdalSigmaSdownarrow¯mumUpsilonUcirc°nu
52、nPhiFpm±xixPsiygeq³pipOmegaWproptoµrhorformall"partial¶sigmasexists$bullet·varsigmaVni'div¸tautcongneq¹equivºapprox»alephÀIm ReÂwpÃotimesÄoplusÅoslashÆcapÇcupÈsupseteqÊsupsetÉsubseteqÍsu
53、bsetÌintòinÎoorfloorûlceilénablaÑlfloorëcdot×ldots¼perpnegùprime¢wedgeÙtimes´0ÆrceilùsurdÖmidêveeÚvarpivcopyrightÓlangleárangleñ 如果要輸出希臘字母,可以使用texlabel函數(shù)將希臘字母的變量名轉(zhuǎn)化為希臘字母的函數(shù),供函數(shù)title、xl
54、abel、ylabel、zlabel或text使用。texlabel轉(zhuǎn)換MATLAB表達(dá)式為等價(jià)的Tex格式字符串。它處理希臘字母的變量名為實(shí)際顯示的希臘字母字符串。希臘字母的變量名為“”后面的字符串。例如:>> texlabel('alpha')ans =alpha>> text(0.5,0.5,'alpha2')>> text(0.5,0.5,texlabel('alpha2')2. Tex字符格式Tex字符還可以設(shè)置字體、顏色和位置。(1)Tex字符的字體設(shè)置有如下6種。bf:設(shè)置字體為粗體字。it:設(shè)置
55、字體為斜體字。sl:設(shè)置字體為斜體字,很少使用。rm:設(shè)置字體為正常字體。fontname字體名:設(shè)置字體名。例如:fontname宋體。fontsize字體大?。涸O(shè)置字體大小。例如:fontsize16。每次設(shè)置時(shí),it、sl、rm只能選擇一種。(2)Tex字符的顏色設(shè)置有下面兩種方法。color顏色名顏色名:顏色名有12種,分別為red、green、yellow、magenta、blue、black、white、cyan、gray、barkGreen、orange和lightBlue。例如:colormagentamagenta。colorrgba b c:設(shè)置字體顏色為RGB矩陣a b
56、c所表示的顏色。 a、b和c都在0 1 范圍內(nèi)。例如:colorrgb0 .5 .5。(3)Tex字符的位置有2種設(shè)置。_:表示下標(biāo)。:表示上標(biāo)。42MATLAB二進(jìn)制文件與文本文件文本文件將文件看作由一個(gè)一個(gè)字節(jié)組成,每個(gè)字節(jié)最高位都是0。文本文件只使用了一個(gè)字節(jié)中的低7位來儲(chǔ)存所有的信息,而二進(jìn)制文件將字節(jié)中的所有位都用上了。文件按照文本方式或二進(jìn)制方式打開,都是一連串的0和1,但是打開方式不同,對(duì)于這些0和1的處理方式也就不同。按照文本方式打開,打開時(shí)要進(jìn)行轉(zhuǎn)換,將每個(gè)字都轉(zhuǎn)換成ASCII碼;而按照二進(jìn)制方式打開時(shí),不會(huì)進(jìn)行任何轉(zhuǎn)換。文本文件和二進(jìn)制文件的編輯方式也不同。例如,在用記事本
57、進(jìn)行文本編輯時(shí),進(jìn)行編輯的最小單位是字節(jié);而對(duì)二進(jìn)制文件進(jìn)行編輯時(shí),最小單位是位,可使用UltraEdit軟件編輯二進(jìn)制文件。從文件編碼方式來看,文件可分為ASCII碼文件和二進(jìn)制碼文件。ASCII碼文件也稱為文本文件,這種文件在磁盤中存放時(shí)每個(gè)字符對(duì)應(yīng)一個(gè)字節(jié),用于存放對(duì)應(yīng)字符的ASCII碼。例如,數(shù)5678共占用4字節(jié),“5”、“6”、“7”和“8”的ASCII碼依次為53、54、55、56,存儲(chǔ)形式為ASCII:00110101 00110110 00110111 00111000十進(jìn)制碼:5 6 7 8二進(jìn)制文件是按二進(jìn)制的編碼方式來存放文件的。例如,數(shù)5678的存儲(chǔ)形式為000101
58、1000101110,只占兩字節(jié)。驗(yàn)證如下:>> dec2bin(5678)ans =0001011000101110>> abs('5678')ans = 53 54 55 56 >> dec2bin(53)ans =00110101>> double('5678')ans = 53 54 55 56>> bin2dec('00110101')ans = 53>> char(ans)ans =543MATLAB函數(shù)句柄函數(shù)句柄是一種特殊的數(shù)據(jù)類型,它提供了間接調(diào)用函數(shù)的方法
59、,類似于C語言中的指針,只不過這里是指向一個(gè)函數(shù)而已。函數(shù)句柄包含了函數(shù)的路徑、函數(shù)名、類型以及可能存在的重載方法,必須通過專門的定義創(chuàng)建,而一般的圖像句柄是自動(dòng)建立的??梢允褂煤瘮?shù)句柄來調(diào)用其他函數(shù),也可以將函數(shù)句柄存儲(chǔ)在數(shù)據(jù)結(jié)構(gòu)中,方便以后使用(如句柄圖形中的回調(diào)函數(shù))。創(chuàng)建函數(shù)句柄使用或者srt2func命令。采用創(chuàng)建函數(shù)句柄,是在函數(shù)名前加一個(gè)“”標(biāo)志,并且不能附加函數(shù)的路徑,即函數(shù)句柄=函數(shù)名。MATLAB映射句柄到指定的函數(shù),并在句柄中保存映射信息。由于沒有附加函數(shù)路徑信息,如果同一個(gè)名字的函數(shù)有多個(gè),函數(shù)句柄映射到哪個(gè)函數(shù)呢?這取決于函數(shù)調(diào)用的優(yōu)先原則。函數(shù)調(diào)用的優(yōu)先級(jí)從高到低排
60、列如下:變量。調(diào)用優(yōu)先級(jí)最高。MATLAB搜索工作空間是否存在同名變量,如有則停止搜索。子函數(shù)。私有函數(shù)。類構(gòu)造函數(shù)。重載方法。當(dāng)前目錄中的同名函數(shù)。路徑中其他目錄中的函數(shù)。調(diào)用優(yōu)先級(jí)最低。如果查詢同名函數(shù)中究竟哪個(gè)函數(shù)被調(diào)用了,用which函數(shù)查詢。例如:>> which functionD:Program FilesMATLABR2010btoolbox function.m當(dāng)一個(gè)函數(shù)句柄被創(chuàng)建時(shí),它將記錄函數(shù)的詳細(xì)信息。因此,當(dāng)使用函數(shù)句柄調(diào)用該函數(shù)時(shí),MATLAB會(huì)立即執(zhí)行,不進(jìn)行文件搜索。當(dāng)反復(fù)調(diào)用一個(gè)文件時(shí),可以節(jié)省大量的搜索時(shí)間,從而提高函數(shù)的執(zhí)行效率。使用函數(shù)句柄有
61、如下好處:提高運(yùn)行速度。因?yàn)镸ATLAB在調(diào)用函數(shù)時(shí)每次都要搜索所有路徑,而路徑又非常多,所以一個(gè)函數(shù)在程序中需要經(jīng)常用到的話,使用函數(shù)句柄會(huì)提高運(yùn)行速度。使用方便。比如說,用戶在某目錄運(yùn)行函數(shù)句柄后,創(chuàng)建了本目錄的一個(gè)函數(shù)句柄,當(dāng)用戶轉(zhuǎn)到其他目錄下時(shí),創(chuàng)建的函數(shù)句柄可以直接調(diào)用,而不需要把相應(yīng)的函數(shù)文件拷貝過來。因?yàn)樵谟脩羲鶆?chuàng)建的函數(shù)中,已經(jīng)包含了路徑。44.GUI控件使用大全,范例clear,clc,closef=figure;set(f,'toolbar','none','menubar','none','resiz
62、e','off','position',140 52 1060 656);set(f,'numbertitle','off','name','GUI');%設(shè)置菜單項(xiàng)menustart=uimenu('label','開始');menufile=uimenu('label','文件');% menumodel=uimenu('label','模型');% menumethod=uimenu('label','估計(jì)方法');menuhelp=uimenu('label','幫助');%設(shè)置菜單子項(xiàng)menustart_weibull=uimenu(menustart,'label','weibull','callback','clear,clc,close,Micro_weibull,flagflag=0;modulestrindex=1;weibullfunction');menustart_item2=uimenu(menusta
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中式餐廳轉(zhuǎn)讓合同范本
- 產(chǎn)品配方轉(zhuǎn)讓合同范例
- 公司代經(jīng)營(yíng)合同范例
- 2024年重慶市大足區(qū)婦女聯(lián)合會(huì)招聘筆試真題
- 化肥品牌轉(zhuǎn)讓合同范本
- 書宣傳推廣合同范本
- 公寓鋪?zhàn)愚D(zhuǎn)讓合同范本
- 個(gè)人首套房屋購買合同范本
- 化工購銷合同范本
- 第一章村集體經(jīng)濟(jì)組織會(huì)計(jì)制度講解
- 湖北煙草公司招聘考試真題
- 2024年江蘇護(hù)理職業(yè)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- -藝術(shù)博覽會(huì)與藝術(shù)品拍賣
- 2024智能燃?xì)獗硗ㄓ眉夹g(shù)要求
- 2024年貴州水投水務(wù)集團(tuán)有限公司招聘筆試參考題庫含答案解析
- (完整版)ERP流程及操作手冊(cè)
- 接上童氣:小學(xué)《道德與法治》統(tǒng)編教材研究
- 武器講解課件
- 關(guān)于魯迅簡(jiǎn)介
- 余華讀書分享名著導(dǎo)讀《文城》
評(píng)論
0/150
提交評(píng)論