Matlab常见问题汇总(精)11.良好的编程习惯,程序文件开头一般添加复位的命令clear%清除内存变量clc%清除屏幕closeall%关闭所有图像窗口2.读取文件的数据actinfo0=importdata('Lincese1\actinfo.dat');%读取Lincese1文件夹下actinfo.dat文件的数据3.获得当前电脑主机名[a,hostname0]=dos('hostname');4.判断两个字符串是否相同,字符匹配strcmp('3455','3455')%判断两个字符串是否完全匹配strncmp('3455','3455',3)%判断两个字符串的前n个字符是否匹配5.读取图片三维数据,显示图片p1=imread(pathicon);%获得和读取图片三维数据image(p1)%显示图片6.字符类型转换小结dircell=struct2cell();%结构型转变为胞元类型idchushi=char();%转变为字符格式indexstr=num2str(index);%数值型转变为字符串bindex=str2num(cell2mat(zbindex));%字符串转变为数值型suoyoudata3=cell2mat(dqjcidsuoyoudata(:,9:end));%胞元转变为dobule数值型str2double(zbbzlow{i})%字符串转变为数值型7.获得文件夹下的文件名dir('picture1\*')%获得picture1文件夹下的所有文件名dir('picture1\*.jpg')%获得picture1文件夹下的JPG格式的所有文件名Matlab常见问题汇总(精)28.设置图形窗口名称、是否显示工具栏菜单栏,是否可以缩放set(f,'toolbar','none','menubar','none','color',[0.710.6],'resize','off','name','Activation');9.弹出窗口,警告信息msgbox('软件已经在其他电脑上安装并激活,无法在本电脑上使用','错误信息','error');相似的命令还有:dialog,errordlg,helpdlg,inputdlg,listdlg,questdlg,warndlg10.修改GUI界面或者图形窗口左上角的matlab系统默认图标javaFrame=get(f,'JavaFrame');javaFrame.setFigureIcon(javax.swing.ImageIcon(pathicon));11.设置GUI界面或者图形窗口的菜单项和子菜单项目%设置菜单项menufile=uimenu('label','文件');meunhelp=uimenu('label','帮助');%设置菜单子项menustart_item1=uimenu(menufile,'label','新建','callback',['clear,clc,close,',function]);menustart_item2=uimenu(menufile,'label','打开','callback',['clear,clc,close,',function]);12.设置GUI界面或者图形窗口的背景图片icon=axes('position',[0011],'units','normalized');uistack(icon,'down');picture=imread(pathbackground);image(picture);colormapgrayset(icon,'handlevisibility','off','visible','off');13.设置GUI界面或者图形窗口的各类控件b_exit=uicontrol(gcf,'style','pushbutton','string','退出','units','normalized','position',[0.750.20.180.08],'fontsize',12,'backgroundcolor','w','callback','clear,clc,close');Matlab常见问题汇总(精)314.读取txt格式文件数据textread(idstartpath)textread(idstartpath,'%s')%以字符型格式读取15.字母a-z,A-Z的简便表示方法char([65:90,97:122])%a-z,A-Z16.删除文件夹下的某个文件path1=['Lincese1\edocs','.dat'];%文件路径delete(path1);%删除文件17.文件的打开,写入,关闭file=fopen(path1,'w');fprintf(file,'%c',ss);fclose(file);18.设置和获得GUI控件的属性set(jielunkj,'string',’OK’);%设置控件句柄为jielunkj的名称为OKget(zhishideng,'backgroundcolor')%获得控件的背景颜色get(brun2,'string');%获得控件的名称字符set(zhishideng,'backgroundcolor',[110]);%设置控件的背景颜色19.时间类型,获得当前时间now%获得当前时间cidcjsjdata=datestr(now,31);%当前时间的char字符型shijiandian=datenum(shijiandian);%转变成时间格式,以小时为单位类似的命令还有:clock,date20.判断是否的命令isempty(index)%判断该变量是否为空exist('yichangxxjl','var')%判断该变量yichangxxjl是否存在ishandle(hwarn)%判断该变量hwarn是否是句柄Matlab常见问题汇总(精)4类似的命令还有:ismember,issorted21.延时,或者暂停2秒钟pause(2);pause22.保存变量到文件中%保存变量idchushi到以idstartpath为路径的文件中dlmwrite(idstartpath,idchushi,'%s')23.简单的GUI界面fyc=figure;set(fyc,'toolbar','none','menubar','none','position',[370130620540]);set(fyc,'numbertitle','off','name',item3yc);24.对变量进行排序,获得将序排列的向量和原始位置索引[ppdu,ppindex]=sort(rateij,'descend');25.两个向量取交集intersect(childhindex1,childhindex2);26.计时器,获取程序运行时间tic%计算程序运行的时间,两个命令成对使用toc27.图像分区域显示axe1=axes('units','normalized','position',[0011],'parent',panel2);subplot(231)subplot(232)subplot(233)subplot(234)subplot(235)subplot(236)Matlab常见问题汇总(精)528.matlab运用JDBC方式连接SQL数据库,并读取数据%在Matlab用JDBC驱动连接SQLServer2008(其他仅连接符url和driver不同)%在运行此段代码前先确保配置好了JDBC驱动,方法如下:%1.Microsoft官网下载sqljdbc3.0驱动——MicrosoftSQLServerJDBCDriver2.0.exe(4M左右)%2.解压后能看到sqljdbc4.jar和sqljdbc.jar文件,针对电脑上JDK的版本选择导入文件,如JDK6.0导入sqljdbc4.jar%3.在commandwindows中输入:editclasspath.txt打开路径配置文件在文件最后一行添加sqljdbc4.jar的完整路径,%(不能同时加载sqljdbc4.jar和sqljdbc.jar的路径,否则不能正常连接数据库)。%4.在SQLServer中新建一个登录名sa,并设置密码为1214%5.采用如下代码在Matlab中连接SQLServer2008clear;clc;close;databasename='test';%数据源名称username='sa';%登录名password='1214';%密码driver='com.microsoft.sqlserver.jdbc.SQLServerDriver';databaseurl=['jdbc:sqlserver://localhost:1433;database=',databasename];conn=database(databasename,username,password,driver,databaseurl)ping(conn)tic%搜索条件sqlquery='select*fromtabeltest'%sqlquery='select*fromstockwhereid=''1'''curs=exec(conn,sqlquery)curs=fetch(curs)%输出前几条记录%curs=fetch(curs,3)%%外部输入关键字搜索%Userid=input('Enteryourid:','s')%curs=exec(conn,['select*fromstockwhereid=''',Userid,''''])%设置检索结果的格式setdbprefs('DataReturnFormat','cellarray')%numeric、cellarray%行数、列数、字段名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'};Matlab常见问题汇总(精)6%whereclause='whereid=''12''';%update(conn,'stock',colnames,newdata,whereclause)%%插入记录%c={'limingming','2014-3-2400:00:00','12','12','12.14'}%insert(conn,'stock',{'name','time','price','int1','float1'},c)%exec(conn,'rollback')%exec(conn,'commit')toc%关闭连接close(curs)close(conn)%远程服务器连接程序示例:databasename='zxdata';%数据源名称username='sa';%登录名password='1234';%密码driver='com.microsoft.sqlserver.jdbc.SQLServerDriver';%驱动程序databaseurl=['jdbc:sqlserver://239.145.165.228:1433;database=',databasename];%其中239.145.165.228为所要读取远程服务器的公网IP地址conn=database(databasename,username,password,driver,databaseurl);%建立连接sqlquery=['SELECTTOP1[id]FROM[zxmain]orderbyiddesc'];%SQL操作语句curs=exec(conn,sqlquery);%执行