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

仿真论坛MATLAB 版 FAQ Beta

  [复制链接]
发表于 2007-4-29 02:26:48 | 显示全部楼层 |阅读模式 来自 湖北武汉
本帖最后由 messenger 于 2011-6-18 20:27 编辑

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


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








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   如何求一个n阶矩阵A的伴随矩阵?
     C8   如何统计数组中相同元素的个数?
     C9   如何统计一组数据中各数值出现的次数?
     C10   为什么Matlab在计算(-8)^(1/3)时返回一个复数?
     C11   为什么factorial命令在符号计算中出错?
     C12   MATLAB 下如何求解平面和直线方程?
     C13   如何利用离散点进行插值,生成光滑闭合曲线?
     C14   如何用最小二乘法进行多元函数拟合?
     C15   MATLAB中如何进行椭圆拟合?
     C16   MATLAB中如何进行整数线性规划?





D. 数据处理及可视化
D1   如何生成gif的动画文件?
      D2   在surfc、meshc命令所画图中,如何调整等高线所在平面的位置?
      D3   在点阵图中如何获取的曲线点的坐标?
      D4   如何在指定的AXES上作图?
      D5   怎么把figure的框架和白色背景去掉,让imagesc画出的图占满整个屏幕?
      D6   如何把plot画出的图的边框改成白色的?
      D7   如何做一个画中画式的局部放大图?
      D8   如何画不规则离散数据的三维曲面图形?
      D9   如何使某一曲线绕坐标轴旋转生成旋转曲面?
      D10   如何将图例(legend)分栏?
      D11   Matlab有哪些绘图命令?命令名及其相应的预览图是什么?
      D12   用Mesh、Surf等三维绘图命令时,如何使画出的图为黑白图像?
      D13   在等高线图(contour)中,如何去掉指定范围以外部分的等高线并在指定范围画阴影?
      D14   在等高线图(contour)中,如何获得点的坐标?
      D15  在绘图时,如何实现XTickLabel的旋转?
      D16  画三维曲面时候如何将坐标轴的说明(xlabel/ylabel)变得与坐标轴平行?
      D17  画二维图时,如何绘制多个纵坐标/横坐标?
      D18  如何清除坐标轴的信息?
      D19  如何画出一个和坐标轴垂直的平面?
      D20  如何绘制分段函数的图像?
      D21  如何绘制添色的玫瑰图?
      D22  极坐标图(polar)中,如何将极轴上的数值为负?
      D23  极坐标图(polar)中,如何修改极坐标坐标轴设置?
      D24  如何画叠加的三维柱状图?
      D25  在MATLAB下,如何实现不同字体混排?





☑ 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   怎样找一组离散数据/离散点的极值(极大值和极小值)?
      F6   如何实现截尾正态分布的数据?
      F7   FIR滤波器的一个小例子




G. Simulink仿真

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





H. 混合编程
H1  混合编程时,Matlab的哪些命令不能被调用?
      H2  明明安装了Visual Studio 2005,为什么mex就是找不到?
      H3  VC调用MATLAB C++库时,包含"matlab.hpp",为何找不到'strstream.h'?
      H4   MATLAB7.x + VC混合编程为什么提示找不到matlab.hpp?
      H5  在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).?
      H6  MATLAB和VC混合编程为什么提示无法打开libmatpm.lib?
      H7  在win7中的MATLAB2009b中,找不到libmx.lib libeng.lib?
      H8  VC调用MATLAB生成的图片时,为何图片显示时却一闪而过?
      H9  MFC调用matalab的dll进行画图时,为什么执行的时候,有一个窗口闪过却画不出来图形?
      H10  在通过Matlab调用Fortran程序时,为什么在链接时会有如下错误信息 :mexfile_CaclT90.obj : error LNK2001: unresolved external symbol _MEXERRMSGTXT@8
      H11  在编写mexw32文件时,用什么函数来实现从matlab传递来一个字符串参数?
      H12  VC++如何调用matlab中的绘图命令?
      H13  如何发布MATLAB7.X编译后的程序?
      H14 Matlab2010b+VC6.0混编
      H15 Matlab如何输出dxf格式的图形?





I. 常见错误及解决

      I1  为什么会有如下错误信息:??? Attempt to execute SCRIPT XXXX as a function..hpp?
      I2  在用GAOT工具箱来求解ga问题时,为什么会有如下错误信息:??? Input argument "sol" is undefined.
      I3  在ga(遗传算法)优化计算中,为什么计算结果显示“Constraint function must return real value.”的错误信息?
      I4  在用rtw的方式将simulink模型与vc混合编程的时候,出现了下个错误:“simstruc.h(282) : fatal error C1189: #error :  Unrecognized use.” 如何解决?
      I5  在Matlab中输入mupad命令,为什么会出现 can not start engine 的错误信息?
      I6  GUI设计中,为什么BackgroundColor不能设置Pushbutton后面的颜色?







J. 文件输入、输出

      J1  如何使用文本文件(.txt) 对数据进行存取?
      J2  如何按照文件生成的时间顺序,读入文件的文件名?
      J3  save命令可以实现循环存储吗?
      J4 怎么可以让plot画出的图不显示出来,直接输出成一个bmp文件?
      J5 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:
强烈建议初学者认真看看亨赛尔曼写的《精通Matlab7》。就看这一本,别的都不用看了。以后结合自己的专业再看专业方面的书就好了。
s函数的方面,可以看看《Matlab应用技术》-在电气工程与自动化专业中的应用。
王忠礼编,清华大学出版社。p62-69

   参考链接:MATLAB2008全程指南
                     求助:MATLAB教材                  
                     MATLAB语言常用算法程序集
                     S函数如何编写?

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”选项勾选即可。

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

A9
Q:Matlab版为什么没有分类?
A: 这是因为大家讨论以后,认为以本版的现状,现在不太适合分类。并且每个人所需要的信息不同,而Matlab的知识又很纷杂,分类不一定是一个好的解决方法。
    为了使大家方便获得想要的信息,本版现在一直要求大家在发贴写标题时要注意详细说明问题。
    所以大家在发贴时,一定要注意在标题中尽量言简意赅地全面描述问题,并且认真添加“标签”,以方便大家以后搜索,这也许比分类更有效。

   参考链接:感觉matlab版这段时间比较乱,建议开设子版
                    Matlab版面进行分类的建议
                    一个小建议





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







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




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










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


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:save命令可以实现循环存储吗?
A:
   参考:如何保存数据为指定变量名-关于save命令
              save命令可以实现循环存储吗?
              如何将MATLAB生成的图片名用变量名命名并保存
              关于保存文件名变量的问题!
      
J4
Q:怎么可以让plot画出的图不显示出来,直接输出成一个bmp文件?
A:

  1. fh = figure('Visible','off');
  2. ah = axes('parent',fh);
  3. surf(peaks,'parent',ah);
  4. print(fh,'-dbmp','time')
复制代码
J5
Q:Matlab结果如何保存,以供C语言读取?
A:
   参考链接:http://forum.simwe.com/thread-900644-1-1.html

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-25 12:11 , Processed in 0.044585 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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