找回密码
 注册
Simdroid-非首页
查看: 56|回复: 0

【备份】FAQ Beta(2010.01)

  [复制链接]
发表于 2010-1-24 00:17:07 | 显示全部楼层 |阅读模式 来自 湖北武汉
本帖最后由 messenger 于 2010-1-24 00:19 编辑

问题索引
A. 新手提问入门
      
      A1   为什么我的帖子没有人回复?
      A2   我该如何提问?
      A3  MATLAB有中文版吗?
      A4   为什么版面上很少有MATLAB的教程资料下载?
      A5   学习Matlab基础知识有哪些书籍?
      A6   如何知道安装了哪些toolbox?
      A7   如何添加toolbox?
      A8  为什么所贴的代码中,有些代码会变为笑脸?

B. 基础编程

      B1   Matlab编程时应遵循的程序设计规范和命名规则是什么?
      B2   如何循环生成文件名?
      B3   如何在程序中动态自定义变量名?
      B4   如何在指定的AXES上作图?
      B5   如何去掉矩阵的某些行/列?
      B6   如何使绘图的坐标轴的刻度标示显示为月份?
      B7   如何建立新的文件夹?
      B8   如何将命令行中的已经敲过的命令保存到一个指定的.m文件里,以便以后查看和调用?
      B9   矩阵中的数据如何设置使其保留小数点后2位?
      B10   如何不显示小数末尾的零?
      B11   如何一次(用不循环)形成等间隔递增矩阵?
      B12   如何将一个矩阵按列扩充为一个分块对角矩阵?
      B13   为什么我的m文件在执行时无法用Ctrl-C中断?
      B14   将带有循环的程序矢量化,以提高程序的运行效率示例。







C. 数学计算

     C1 一个随机变量可以取1 2 3 4 5这5个值。每个值的概率分别为0.1 0.3 0.25 0.25 0.1。如何产生?
     C2   如何将参数传递到solve求解的方程组里面?
     C3   如何将参数传递到fsolve求解的方程组里面?
     C4   如何进行一般区域上的2、3维积分?
     C5   如何对分段函数进行积分?
     C6   元素为0、1矩阵中,如何对矩阵分割并将每个子矩阵中不全为零的个数相加?
     C7   如何统计数组中相同元素的个数?
     C8   如何统计一组数据中各数值出现的次数?
     C9   为什么Matlab在计算(-8)^(1/3)时返回一个复数?
     C10   为什么factorial命令在符号计算中出错?







D. 数据处理及可视化

      D1   如何生成gif的动画文件?
      D2   在surfc、meshc命令所画图中,如何调整等高线所在平面的位置?
      D3   在点阵图中如何获取的曲线点的坐标?
      D4   怎么把figure的框架和白色背景去掉,让imagesc画出的图占满整个屏幕?
      D5   如何做一个画中画式的局部放大图?
      D6   如何画不规则离散数据的三维曲面图形?
      D7   如何将图例(legend)分栏?
      D8   Matlab有哪些绘图命令?命令名及其相应的预览图是什么?
      D9   用Mesh、Surf等三维绘图命令时,如何使画出的图为黑白图像?
      D10   在等高线图(contour)中,如何去掉指定范围以外部分的等高线并在指定范围画阴影?
      D11   在等高线图(contour)中,如何获得点的坐标?
      D12  在绘图时,如何实现XTickLabel的旋转?
      D13  如何绘制分段函数的图像?




Mathworks FAQ(2009),Graphics部份

E. GUI

      E1   如何使窗体不能移动?
      E2   GUI如何添加启动界面?
      E3   如何给GUI添加背景图片?
      E4   如何去掉GUI编译后的DOS黑窗?
      E5   如何在GUI中调用制作的帮助文件?
      E6   如何使GUI最大化?
      E7   如何使GUI支持鼠标滚轮?
      E8   如何使GUI居中?


F. 专业计算

      F1   如何使用Matlab来进行频谱分析?
      F2   如何根据曲线来求穿越次数?
      F3   SGALAB1003beta5.0.0.5(Micro-GA/Mendel's Law Operator with ParetoFront )
      F4   在用遗传算法做多目标优化时,怎么把其余的pareto front 图画出来?
      F5   怎样找一组离散数据/离散点的极值(极大值和极小值)?


G. Simulink仿真

      G1   如何把整个模型文件中某一个子系统的名字替换成另一个名字?
      G2   什么是SimHydraulics模块?
      G3   RTW将simulink模型生成C代码后,在VC中如何调整参数?
      G4   怎么获得一个模型中模块和变量的数量?
      G5   为什么无法保存仿真结果 .mdl 文件?
      G6   Simulink能解DAE(代数微分方程系统)吗?





H. 混合编程
      
      H1  明明安装了Visual Studio 2005,为什么mex就是找不到?
      H2  VC调用MATLAB C++库时,包含"matlab.hpp",为何找不到'strstream.h'?
      H3   MATLAB7.x+VC混合编程为什么提示找不到matlab.hpp?
      H4  如何发布MATLAB7.X编译后的程序?
      H5  MATLAB和VC混合编程为什么提示无法打开libmatpm.lib?
      H6  混合编程时,Matlab的哪些命令不能被调用?
      H7  VC调用MATLAB生成的图片时,为何图片显示时却一闪而过?
      H8  在编写mexw32文件时,用什么函数来实现从matlab传递来一个字符串参数?
      H9  VC++如何调用matlab中的绘图命令?



I. 常见错误及解决

      I1  为什么会有如下错误信息:??? Attempt to execute SCRIPT XXXX as a function..hpp?
      I2  在通过Matlab调用Fortran程序时,为什么在链接时会有如下错误信息 :mexfile_CaclT90.obj : error LNK2001: unresolved external symbol _MEXERRMSGTXT@8
      I3  在VC6.0 + Matlab R2009b联合编程时,编译成exe文件后,执行exe文件的时候为什么遇到如下错误:MATLAB:I18n:MissingICUData - ICU data not found. The program '[1672] F:\***.exe: Native' has exited with code 2 (0x2).
      I4  在用GAOT工具箱来求解ga问题时,为什么会有如下错误信息:??? Input argument "sol" is undefined.
      I5  在用rtw的方式将simulink模型与vc混合编程的时候,出现了下个错误:“simstruc.h(282) : fatal error C1189: #error :  Unrecognized use.” 如何解决?
      I6  在Matlab中输入mupad命令,为什么会出现 can not start engine 的错误信息?
      I7  在ga(遗传算法)优化计算中,为什么计算结果显示“Constraint function must return real value.”的错误信息?




J. 文件输入、输出

      J1  如何使用文本文件(.txt) 对数据进行存取?
      J2  如何按照文件生成的时间顺序,读入文件的文件名?
      J3 怎么可以让plot画出的图不显示出来,直接输出成一个bmp文件?
      J4 Matlab结果如何保存,以供C语言读取?



------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------  正文分界线  ----------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


A1
Q: 为什么我的帖子没有人回复?
A: 没有回复或者很少回复的原因很多,我这里列举一二
            1 . 与专业结合太强。不是路过这里的每个人都和你是一个专业的。
                 有谁有反应精馏的例子啊?
            2 . 所提的问题,版面已经讨论了很多很多遍了。甚至在同一版面就有一样的主题
            3 . 题目标题没有写好。题目标题与提问内容豪不相干。
A2
Q: 我该如何提问?
A:起个好标题,写上好内容。
           好的标题是成功得到解答的基石。
           这里说的好的标题不是指“菜鸟求”,“跪求”,“裸求”,“急求”等看上去醒目的文字
          而是包含如下信息的文字:
           1 。包含MATLAB的版本
                  版本不一样,解决问题的答案也不一样。
           2。 包含问题的所属领域
              比如属于基础编程,属于GUI,属于混合编程
       好的内容是值:
           1。 你的MATLAB版本
             版本不一样,解决问题的答案也不一样
           2。 你的MATLAB基础,便于回答者根据你的基础选择是否提示还是直接写程序等等
           3。 你的尝试
                根据你的实际问题,你的解决思路,算法思路,MATLAB实现
           4。错误提示
                没有得到预期的结果,中间是否有错误提示?请帖你的错误提示
           5。相关代码
                 贴导致错误的,相关的,可以运行的代码。
                 贴之前请自己运行一番,想一想,是否有遗漏的M文件而导致回答者无法运行你的程序
           参考链接:错误请教

A3
Q: MATLAB有中文版吗?
A:
   没有。不过,你可以试试junziyang的汉化补丁。
【原创】使MATLAB变成中文版
【原创】MATLAB 2006b 汉化文件
【原创】MATLAB R2007a 汉化补丁正式发布
【原创】MATLAB R2007b 汉化补丁正式发布
【原创】MATLAB R2008a 汉化补丁正式发布

A4
Q: 为什么版面上很少有MATLAB的教程资料下载?
A:
   本版定位为技术论坛。鼓励技术学习,原创分享,经验交流,问题解答。
   关于MATLAB的教程,MATLAB的公司MATHWORKS网页上有大批量的E文的PDF文档
   中文的,各个学校的数学建模区都有资料。
   请Google之以及版面搜索“资料”。


A5
Q: 学习Matlab基础知识有哪些书籍?
A:
   参考链接:MATLAB2008全程指南                  
                     MATLAB语言常用算法程序集

A6
Q: 如何知道安装了哪些toolbox?
A:
   方法一:在命令提示符下键入ver命令
   方法二:help -> Contents
   方法三:直接至matlab目录看,matlab安装文件夹下有个toolbox文件夹,里面是工具箱
   方法四:从启动的matlab中左下角有一个start 里面有toolbox一项 可以查看


A7
Q: 如何添加toolbox?
A:
   方法1:如果是Matlab安装光盘上的工具箱,重新执行安装程序,选中即可;
   方法2:如果是单独下载的工具箱,一般情况下仅需要把新的工具箱解压到某个目录。
      2.1 在matlab的file下面的set path把它加上。
      2.2 把路径加进去后在file→Preferences→General的Toolbox Path Caching里点击update Toolbox Path Cache更新一下。
      2.3 用which newtoolbox_command.m来检验是否可以访问。如果能够显示新设置的路径,则表明该工具箱可以使用了。
      或者将工具箱复制到toolbox目录然后在set path里面添加这个目录就可以用了。
   参考链接:matlab工具箱如何安装?
                    如何添加工具箱




A8
Q: 为什么所贴的代码中,有些代码会变为笑脸?
A:这是因为bbs系统自动将 :) 转换为了。
   如果想防止这种自动转换,有2种方法:
   方法1、如果代码很多,建议将代码以“代码”的形式贴出。在编辑窗口中点击<>图标,然后将要贴出的代码复制入弹出的窗口中即可。
   方法2、在编辑窗口中点击“更多设定”,然后将“禁用Smilies”选项勾选即可。

   参考链接:为什么所贴的代码中,有些代码会变为笑脸?


------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


B1   
Q: Matlab编程时应遵循的程序设计规范和命名规则是什么?
A:
相关链接:编程中命名规则/命名法有何技巧?
                 matlab编程风格指南(中文版)
                 matlab程序设计规范(英文版)
                 matlab提供的函数那么多,如何避免函数重名?

B2   
Q: 如何循环生成文件名?
A:
    利用num2str等
    比如生成data1.txt,data2.txt
    可以
  1.    
  2.    for i=1:2;
  3.        filename(i) = ['data'  num2str(i) '.txt'];
  4.    end
复制代码
相关链接:matlab文件名问题
                关于matlab下批量加载的问题
                讨论一下Matlab中批量写文件的问题(已实现一部分)
                如何在matlab程序中输出到一些列文件里?
                如何在M文件内部生成的文件名?
                save命令可以实现循环存储吗?



B3  
Q: 如何在程序中动态自定义变量名?比如循环变量 k=5,我想定义 Num5 = magic(4);
A:
        结合 eval , sprintf
        比如
  1.    
  2.         i = 5;
  3.         strCmd = sprintf('Num%d=magic(4);', i);  % 构建语句代码,存储在字符串变量中
  4.         eval(strCmd);  % 用eval函数执行存储在字符串中的代码
  5.         
复制代码
参考:
如何在循环中自动生成变量名,并赋值
求助:自动生成变量
求教:符号变量的定义问题
怎样定义多个变量名,在线等
如何实现对变量的批量赋值?



B4      
Q: 如何在指定的AXES上作图?
A:
       help axes;
      作图前,找到AXES的句柄axesHandle
      axes(axesHandle);
      再作图即可

B5      
Q:如何去掉矩阵的某些行/列?比如,如果第一列的某个元素小于零,就去掉该元素对应行的所有元素
A:
A(A(:,1)>=0,:)
参考:
【讨论】快速删除矩阵中含0的行

B6      
Q:如何使绘图的坐标轴的刻度标示显示为月份?比如使横坐标显示为1月、2月等等      
A:
用set(gca,'xticklabel',{'一月','二月'});

B7      
Q:如何建立文件夹?      
A:
mkdir  或者  uigetdir

B8      
Q:如何将命令行中的已经敲过的命令保存到一个指定的.m文件里,以便以后查看和调用?      
A:
       可以使用diary命令。
       DIARY Save text of MATLAB session.
       DIARY filename causes a copy of all subsequent command window input
        and most of the resulting command window output to be appended to the
        named file.  If no file is specified, the file 'diary' is used.
       参考链接:http://forum.simwe.com/thread-879560-1-1.html

B9  
Q:矩阵中的数据如何设置使其保留小数点后2位?
A:
参考链接:矩阵中的数据如何设置使其保留小数点后2位

B10  
Q:如何不显示小数末尾的零?
A:
可以用正则表达式,regexprep命令。
参考链接:如何不显示小数点后面的零?


B11  
Q:如何一次(用不循环)形成等间隔递增矩阵?
A:
可以采用cell2mat、arrayfun、bsxfun等命令。
参考链接:matlab生成等间隔递增矩阵的问题

B12  
Q:如何将一个矩阵按列扩充为一个分块对角矩阵?
A:
参考链接:矩阵扩充赋值问题



B13  
Q:为什么我的m文件在执行时无法用Ctrl-C中断?
A:
这一问题只是在Windows操作系统中才会出现,因为在Windows操作系统中MATLAB必须对Ctrl-C事件进行轮询。如果MATLAB深陷入矩阵运算中,则MATLAB怎么也不会反应。如果MATLAB正处在循环结构中,你可以通过在循环中加入'drawnow'或'pause(0)'命令来强迫MATLAB增加轮询次数。这一方法也会更新你的图并且会使GUI更容易响应。
参考链接:http://forum.simwe.com/thread-172951-1-1.html Q6.10。


B14  
Q:将带有循环的程序矢量化,以提高程序的运行效率示例。
A:
参考链接:http://forum.simwe.com/thread-906752-1-1.html




------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

C1
Q:一个随机变量可以取1 2 3 4 5这5个值。每个值的概率分别为0.1 0.3 0.25 0.25 0.1。如何产生?
A:
可以参考  rocwoods兄写的这个程序 ,服从任意有限离散分布的随机数的程序以及randsrc函数


C2
Q:如何将参数传递到solve求解的方程组里面?
A:
如果将参数直接放入solve命令中,solve命令不识别。可以通过命令num2str转换。
例:

  1.           clc
  2.           a=1:0.5:10;
  3.           for i=1:length(a)
  4.           str1=[num2str(a(i)),'*x^2+',num2str(a(i)),'^2*y^2+3*x*y+18=0'];
  5.           str2=['(',num2str(a(i)),'-2)*x^4+',num2str(a(i)),'^3*y^4+7*y^2-12 = 0'];
  6.           S{i} = solve(str1,str2);
  7.           end
复制代码
参考链接:http://forum.simwe.com/thread-750041-1-1.html

C3  
Q:如何将参数传递到fsolve求解的方程组里面?
A:
在fsolve命令中,可以用匿名函数来传递参数。
当fsolve命令需要传递参数时,可以采用[out] = fsolve(@(x) myfun(x,P1,P2....Pn) ,x0,options)的形式。其中,P1,P2....Pn为要传递的参数。
参考链接:http://forum.simwe.com/thread-902236-1-1.html
                 http://forum.simwe.com/thread-816392-1-1.html
                 http://www.chinavib.com/forum/thread-83119-1-4.html
                 http://www.chinavib.com/forum/thread-16308-1-1.html
                 http://forum.simwe.com/thread-902491-1-1.html




C4
Q:如何进行一般区域上的2、3维积分?
A:
参考链接:一般区域二重、三重积分MATLAB计算方法
                 MATLAB R2009a 新增函数quad2d介绍

C5
Q:如何对分段函数进行积分?
A:
参考链接:http://forum.simwe.com/thread-889225-1-1.html


C6
Q:元素为0、1矩阵中,如何对矩阵分割并将每个子矩阵中不全为零的个数相加?
A:
可以采用mat2cell、cellfun、any等命令。
参考链接:矩阵分割问题

C7
Q:如何统计数组中相同元素的个数?
A:
可以采用unique、hist命令。
参考链接:如何统计数组中相同的数字及其个数


C8
Q:如何统计一组数据中各数值出现的次数?
A:
可以采用tabulate命令或xiezhh编写的HistRate程序。
参考链接:如何统计一组数据中各数值出现的次数?


C9
Q:为什么Matlab在计算(-8)^(1/3)时返回一个复数?
A:
正如正数的平方根有两个(一个正根、一个负根)一样,负数(和复数)的开方有多个根。例如,如果以[幅值*exp(i*theta)]的形式来表示某一个数的三次方根,则这些三次方根的形式为,[幅值^3*exp(i*theta/3*k)],其中k=1:3。
    -8可以表示为8*exp(i*pi),这样其立方根为2*exp(i*pi/3),2*exp(2*i*pi/3),2*exp(3*i*pi/3)。最后一个立方根可以简化为-2。
    Matlab总是以实轴正向为基准以逆时针方向返回第一个根。根据这一原则,你可以计算所有或部分方根。例如,如果你想得到一个负的实立方根,可以简单地求这个数绝对值的立方根,然后取相反数。
    一次得到所有根的一个方法是计算一个多项式的根:
      P=[1 0 0 27];
      roots(P)
参考链接:MATLAB FAQ (Apr 15,2003) Q5.6

C10
Q:为什么factorial命令在符号计算中出错?
A:
factorial命令不支持符号运算,可用gamma命令或prod命令代替。
参考链接:用matlab求解级数问题
                如何求解此种符号方程


------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------



D1
Q:如何生成gif的动画文件?
A:
大致有三种方法,根据Matlab的参与程度排列可分为:1、用视频录像工具录制;2、用matlab输出多幅图片,然后用图像处理工具合成gif动画文件;3、用imwrite命令。

参考链接:http://forum.simwe.com/thread-880377-1-1.html


D2
Q:在surfc、meshc命令所画图中,如何调整等高线所在平面的位置?
A:
可以通过调整等高线句柄来实现。
参考链接:http://forum.simwe.com/thread-885324-1-1.html

D3
Q:在点阵图中如何获取的曲线点的坐标?
A:
方法一:
          1、用windows画笔存储为单色位图
          2、图片跟.m文件放到同一文件夹。假设文件名是my_im.bmp。

  1.                im=imread('my_im.bmp');  %读入图片
  2.                index=find(im==1);  %找出图形中的“黑点”的坐标。该坐标是一维数据。
  3.                s=size(im);  %读出图片大小
  4.                [y,x]=ind2sub(s,index); %转化成二维坐标。x是点的横坐标,y是点的纵坐标。
复制代码
方法二:

  1.            a=imread('cameramn.tif');
  2.            [m n]=find(im>22 & im<23);%大概取那些曲线的像素值
  3.            plot(n,m,'r.', 'Markersize', 2);
复制代码
一定要注意m,n的位置哦
参考链接:http://forum.simwe.com/thread-886047-1-1.html

D4
Q:怎么把figure的框架和白色背景去掉,让imagesc画出的图占满整个屏幕?
A:

  1. newgprime=zeros(100);
  2. fh = figure();          % Figure clockface named "scotts clock"
  3. imagesc(newgprime);
  4. axis off
  5. set(phaseface,'position',[1 1 1440 900]);
  6. set(phaseface,'MenuBar','none');
  7. set(gca,'position',[0 0 1 1])
复制代码
D5
Q:如何做一个画中画式的局部放大图?
A:
可以有多种实现方法,比如通过交互界面来设置figure,axes等的属性。
参考链接:http://forum.simwe.com/thread-887007-1-1.html


D6  
Q:如何画不规则离散数据的三维曲面图形
A:
可以用meshgrid、griddata、mesh、surf等命令。

参考链接:http://forum.simwe.com/thread-887117-1-2.html

D7
Q:如何将图例(legend)分栏
A:
Matlab默认情况图例(legend)为一列或一行。需要通过句柄调整legend命令或者重新绘制图例(legend)。

参考链接:http://forum.simwe.com/thread-889490-1-1.html


D8
Q:Matlab有哪些绘图命令?命令名及其相应的预览图是什么?
A:
2D plot

3D plot


参考链接:http://forum.simwe.com/thread-891967-1-1.html

D9
Q:用Mesh、Surf等三维绘图命令时,如何使画出的图为黑白图像?
A:
可以采用以下命令:

  1. [X,Y] = meshgrid(-3:.125:3);
  2. Z = peaks(X,Y);
  3. p = meshz(X,Y,Z);
  4. set(p,'FaceColor','white','EdgeColor','black');
复制代码
参考链接:http://forum.simwe.com/thread-899732-1-2.html

D10
Q:在等高线图(contour)中,如何去掉指定范围以外部分的等高线并在指定范围画阴影?
A:
参考链接:在等高线图(contour)中,如何去掉指定范围以外部分的等高线并在指定范围画阴影?
                 请教:关于二维非规则区域等值云图的matlab实现方法
                 如何使用已有数据进行contour绘图l
                 如何用散点画等高线?



D11
Q:在等高线图(contour)中,如何获得点的坐标?
A:
参考链接:http://forum.simwe.com/thread-892833-1-1.html

D12
Q:在绘图时,如何实现XTickLabel的旋转?
A:
在绘图时,如果XTickLabel的字符串过长,会导致多个ticklabel重叠。一般情况下,label是可以通过属性设置其旋转的,但是,ticklabel在axis属性对话框中通过设置style
只能设置FontSize和FontWeight等属性,并不能旋转。
解决方法是,通过set(h,'XTickLabel',[])命令将原来的ticklabel去掉,然后用text命令添加新的ticklabel并通过设置'Rotation'属性将其旋转。
参考链接:http://forum.simwe.com/thread-905525-1-1.html
                 http://www.mathworks.com/support ... ml?solution=1-15TK6
                 http://hi.baidu.com/xuelicheng/b ... b565173a2935b7.html

D13
Q:如何绘制分段函数的图像?
A:
参考链接:【总结】分段函数画图/绘图/绘制的简单方法




------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


E1
Q:如何使窗体不能移动?
A:
   参考SCIE写的这个MEX文件。
   mexDelSysMenu

E2
Q:GUI如何添加启动界面?
A:
   方法很多很多。
   一,利用JAVA,参考Junziyang写的
   原创:GUI启动画面[改进版]
   二,利用WIN32 API,去掉MATLAB FIGURE的标题栏,参考snow_man_0写的
   启动画面的制作
   三,利用MFC DLL,创建MEX文件

E3
Q:如何给GUI添加背景图片?
A:
   利用image函数
   参考:
   如何使gui界面更加美观?
   双axes或多axes的 GUI制作!
   请问:matlab的GUI设计界面怎么添加背景图片
   请教:matlab的GUI设计的界面怎么加上背景图片?

E4
Q:如何去掉GUI编译后的DOS黑窗?
A:
这个问题应该比较成熟了。TMW上也给出了解决方案。
【原创】去掉MATLAB编译产生的可执行图形界面程序运行时的DOS黑窗口的一种方法
【推荐】去掉MATLAB编译产生的可执行图形界面程序运行时的DOS黑窗口的又一种方法
【讨论】如何去掉讨厌的command窗口?

更多的请参考,TAOHE的《深入浅出MATLAB7.X混合编程》

E5
Q:如何在GUI中调用制作的帮助文件?
A:
   一、利用 ! 命令
   二、利用强大的WIN32 API,参考SCIE写的这个MEX函数
   【原创】mex函数启动外部程序或打开外部文件 for cwit

E6
Q:如何使GUI最大化?
A:
   参考SCIE写的这个多功能的MEX函数
   mexwndop

E7
Q:如何使GUI支持鼠标滚轮?
A:
    参考nostalgica写的这个利用JAVA的函数scrolldemo

E8
Q:如何使GUI居中?
A:
   movegui(hFigure,'center'); 或者,用WIN32 API函数  

   Matlab界面编程的例子(Vigenere密码系统)

游客,本帖隐藏的内容需要积分高于 2 才可浏览,您当前积分为 0


------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


J1
Q:如何使用文本文件(.txt) 对数据进行存取?
A:
   参考:使用文本文件(.txt)进行数据存取的技巧总结

J2
Q:如何按照文件生成的时间顺序,读入文件的文件名?
A:
   首先,用dir命令取得的文件的有关信息。然后,再用sort命令对文件名按着时间顺序排序。
   sort函数对字符类型只是根据ASCII码顺序排列。

   dir函数返回的参数结构为结构体数组,每个文件的信息包括:
   
name
文件名
char array
date
最后修改时间,格式为时间标签
char array
bytes
文件大小
double
isdir
类型,true则是文件夹,否则是文件
logical
datenum
时间对应的数值形式
double


   下面的程序即是利用datenum排序

  1.    function f=datesort(files)
  2.    fdatenum=[];
  3.    for i=1:length(files)
  4.        fdatenum=[fdatenum;files(i).datenum];%按原序提取datenum
  5.    end
  6.    [B,Ix]=sort(fdatenum);
  7.    f=files(Ix);%按文件最后修改时间先后,排列dir信息
复制代码
举例:
   >> f=dir('*.m');f1=datesort(f);
   >> f1.name
   参考:照文件生成时间的顺序,读入所有文件的文件名


J3
Q:怎么可以让plot画出的图不显示出来,直接输出成一个bmp文件?
A:

  1. fh = figure('Visible','off');
  2. ah = axes('parent',fh);
  3. surf(peaks,'parent',ah);
  4. print(fh,'-dbmp','time')
复制代码
J4
Q:Matlab结果如何保存,以供C语言读取?
A:
   参考链接:http://forum.simwe.com/thread-900644-1-1.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-5-6 13:52 , Processed in 0.046104 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表