matlab安装常见问题

matlab安装常见问题
matlab安装常见问题

MATLAB安装问题解决方案大集锦(希望MATH加精)

1,安装Matlab提示exception calling main解决方法

在安装完windows sp3补丁后,很多人发现matlab2007b无法正常运行,总是启动画面闪一下,然后就没反应了,或者有时候弹出exception calling main的系统错误提示。

解决此问题的办法很简单,右键单击matlab程序图标,选择属性,在兼容性选项卡中勾选"用兼容性运行此程序",兼容模式为window NT 4.0(service pack 5),确定后即可恢复正常

2,安装时出现红色叉杠并出现英文字母:The installer cannot read the mwinstall.dll file, This is probably due to a CD reader which can only read files with an eight.three naming convention. Please see the technical support page at https://www.360docs.net/doc/0214432992.html,

解决方法:请一定不要用WinRar之类的解压软件来再次解压matlab.iso文件,而是必须要用Daemon Tools一类的虚拟光驱软件来打开!

3,输入注册码后出现红色叉杠并出现英文字母:There are no products to install, check that the product.zip files are in either the root folder or the ‘archives’folder.

解决方法:在我的电脑-右键-属性,在系统属性对话框中选择高级-环境变量-TMP改为C:\Temp ,同时在C的根目录下建立Temp文件夹,问题可以解决。

4,运行Setup.exe以后出现名为Unknown Exception而只有一个大红叉的窗口,只有“OK”一个按钮,而且按了也无法关闭。

解决方法:这个按照问题3解决方法设置好环境变量基本上就解决了,如果解决不了,只要对着OK狂按一阵子,就能进去了。

5,AMD的机器安装好Matlab后打开自动关闭

matlab要用到CPU的数学计算模块,而matlab默认的是INTEL的CPU,所以AMD的CPU一般都会遇到安装好后打开自动关闭的问题。

解决办法:

先确认安装好后(假如安装在D盘) 在此路径下D:\MATLAB7\bin\win32有一个叫做atlas_Athlon.dll的文件。

然后在我的电脑上右击点”属性”,再在”高级”中点”环境变量”,在”系统变量”中点击”新建”

输入以下信息: 变量名:BLAS_VERSION

变量值:\MATLAB7\bin\win32\atlas_Athlon.dll

点确定就可以了。

另外说一下,matlab的安装目录必须是英文的。

6,错误代码

You must have a supported version of https://www.360docs.net/doc/0214432992.html, Framework installed before you can install MATLAB Builder NE. Install the .NET Framework and then re-install MATLAB Builder NE.

解决方法:到网上下载了Microsoft .NET Framework 3.5(x86)安装后问题就解决了

7,如何设置matlab的正确工作路径

每次在editor窗口编辑完程序后,点Debug里面的run后,都后提示说"所写文件is not found in the curren directory or on the matlab path"

请问如何解决这问题啊。。

解决方法:直接在current Directory里设置,跟Windows下操作文件夹一样。MATALB界面最上面有current Directory,点击右边的按钮,选择路径就OK了!

8,matlab 7.0安装过程中没问题。安装完成后,一运行就出现错误,Microsoft visual c++ Runtime Library runtime error

program:d:\MATLAB\bin\win32\MATLAB.exe x!L o L |

this application has requested the runtime to terminate it in an unusual way.

please contact the application's support team for more information c:U%L.L*L

解决办法:

安装好之后,将桌面的快捷方式图标的属性修改一下,兼容性由默认的win95改为win2000就行

9,启动Matlab7.0出现如下提示

The element type "name" must be terminated by the matching end-tag "".

Could not parse the file: d:\matlab7\toolbox\ccslink\ccslink\info.xml

>>

解决方法:

找到d:\matlab7\toolbox\ccslink\ccslink\info.xml 这个文件(如果Matlab装在C盘则在C盘目录下),一定要用写字板打开这个文件,找到有这样一行Link for Code Composer Studio?/name>,大概是在第七行吧,把这句的/name>改成,再保存这个文件。

10,出现runtime error的问题解决如下:

方案1:“右键”--“属性”--“主题”,将主题改为“Windows 经典样式”或者是“Windows XP”的,这样就可以了。

方案2:点击开始->运行->regedit 点击确定打开注册表,找到:HKEY_CURRENT_USER > Software > MathWorks > Matlab在这个文件夹里,你会看到一个与你matlab版本一样的一个文件夹,删除它。从新运行matlab。

方案3:范围比较大,是电脑出现runtime error的困扰。

出现runtime error,一般问题都出在注册表,“运行—〉regedit”打开注册表,笨一点的方法就是按F3出入“runtime”,查找所有名为runtime的数值,然后一个一个删掉,但这样实在太多了,不停的删半个小时不一定能删完。缩小范围:一般错误会在HKEY_LOCAL_MACHINESOFTWAREmicrosoftWindowsCurrentVersionRun,在这里面搜runtime 项,删掉。

出现问题原因:出现runtime error的原因有很多,估计是一些垃圾软件、流氓软件强制安装到计算机里的缘故,造成的后果往往是这样的:电脑各个盘符右键单击,菜单最上面

是"auto"而不是“打开”,还有就是QQ等软件出现错误,要求重启,这个时候你重装QQ也是没有用的,注册表出错必须先清理注册表。

一般出现runtime error的问题用第一种方案就可以解决,我就是载在它手里的

11,安装matlab后出现多余进程的解决办法

电脑装了matlab后,开机不打开matlab,进程里也有matlab.exe和matlabserver.exe两个进程,占有一定的内存。那么怎么办才能取消这两个进程呢?

解决方案从开始菜单里点击“运行”,输入“msconfig”,这样打开系统配置实用程序。在“服务”选项里把matlab.exe和matlabserver.exe两个程序前的“√”取消掉,之后点击“应用”,再点击“确定”,计算机重新启动后就生效啦。顺便说一句,若想关闭其它应用程序,这样办法也是可以的。如果计算机启动比较慢,也可以在“系统配置实用程序”的“启动”选项里关闭不需要启动的程序。

12,应用程序或DLL C:\WINDOWS\reaources\DzVista\DzVista.msstyles为无效WINDOWS映像解决:将setup.exe文件属性—兼容性—window2000。选择使用兼容性运行,然后在下面框中选windows2000.然后。

7.0序列号好像都一样:13-22955-32678-26249-06848-40366-39620-03472-09765-20949-30945-19673-43738-38950-44 548

13,安装完成后:装上了,运行出现问题了。双击桌面MATLAB 7.0图标,主界面打开后马上自己关闭了,没有提示任何错误。或者提示是出现Runtime error! Program:C:/MATLAB/bin/win32/MATLAB.exe This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. 这样一类错误。

解决:由于安装完成,在桌面上已经出现了matlab的快捷方式,右键点击-属性-兼容性-使用兼容模式-选择windows2000。再运行应该就行了。我的CPU是intel的,系统是番茄花园winXP的。还不行就要:

先确认安装好后(假如安装在D盘) 在此路径下D:\MATLAB7\bin\win32有一个叫做atlas_Athlon.dll的文件。

然后在我的电脑上右击点”属性”,再在”高级”中点”环境变量”,在”系统变量”中点击”新建”

输入以下信息: 变量名:BLAS_VERSION

变量址:\MATLAB7\bin\win32\atlas_Athlon.dll

点确定就可以了。

14.下载Simulink模块打不开的原因及解决方法

https://www.360docs.net/doc/0214432992.html,/viewthread.php?tid=36340&highlight=

安装的时候文件名及各级子目录文件么最好都是英文字母。

matlab图像处理实验报告

图像处理实验报告 姓名:陈琼暖 班级:07计科一班 学号:20070810104

目录: 实验一:灰度图像处理 (3) 实验二:灰度图像增强 (5) 实验三:二值图像处理 (8) 实验四:图像变换 (13) 大实验:车牌检测 (15)

实验一:灰度图像处理题目:直方图与灰度均衡 基本要求: (1) BMP灰度图像读取、显示、保存; (2)编程实现得出灰度图像的直方图; (3)实现灰度均衡算法. 实验过程: 1、BMP灰度图像读取、显示、保存; ?图像的读写与显示操作:用imread( )读取图像。 ?图像显示于屏幕:imshow( ) 。 ?

2、编程实现得出灰度图像的直方图; 3、实现灰度均衡算法; ?直方图均衡化可用histeq( )函数实现。 ?imhist(I) 显示直方图。直方图中bin的数目有图像的类型决定。如果I是个灰度图像,imhist将 使用默认值256个bins。如果I是一个二值图像,imhist使用两bins。 实验总结: Matlab 语言是一种简洁,可读性较强的高效率编程软件,通过运用图像处理工具箱中的有关函数,就可以对原图像进行简单的处理。 通过比较灰度原图和经均衡化后的图形可见图像变得清晰,均衡化后的直方图形状比原直方图的形状更理想。

实验二:灰度图像增强 题目:图像平滑与锐化 基本要求: (1)使用邻域平均法实现平滑运算; (2)使用中值滤波实现平滑运算; (3)使用拉普拉斯算子实现锐化运算. 实验过程: 1、 使用邻域平均法实现平滑运算; 步骤:对图像添加噪声,对带噪声的图像数据进行平滑处理; ? 对图像添加噪声 J = imnoise(I,type,parameters)

matlab安装常见问题解决方案

1、安装MATLAB7时弹出以下警告对话框,显示 " The installer cannot read the mwinstall.dll file, This is probably due to a CD reader which can only read files with an eight.three naming convention. Please see the technical support page at " 解决的办法是在【我的电脑】-右键-【属性】然后选择【高级】-【环境变量】,将环境变量中位于上部的用户变量中的TEMP和TMP修改为C:/temp即可,并备份好原来的路径。安装文件一定要放在英文目录下,如:E:\software\matlab 7.0就可以,而E:\软件\matlab 7.0就不行。 2、我的matlab7.0也出现这种毛病,打开就自动关闭,请问怎么解决? 完成后你会发现打开后一会就自动关闭,不要惊慌,你的机器cpu一定是amd的,在你的安装文件夹下找到atlas_Athlon.dll文件,是用来让amd芯片进行正常工作的。因为当初mathwork公司是以intel芯片为目标的。找到这个文件比如路径是D:MA TLAB7 \bin\win32\atlas_Athlon.dll,再次右键单击我的电脑属性,高级,环境变量,系统变量新建变量名:BLAS_VERSION,值为D:MATLAB7 \bin\win32\atlas_Athlon.dll 3、问题: 启动Matlab以后显示: The element type "name" must be terminated by the matching end-tag "". Could not parse the file: d:\matlab7\toolbox\ccslink\ccslink\info.xml 解决: 打开matlab7.0就出现如下的提示 The element type "name" must be terminated by the matching end-tag "". Could not parse the file: d:\matlab7\toolbox\ccslink\ccslink\info.xml. 解决方法是: 找到d:\matlab7\toolbox\ccslink\ccslink\info.xml 这个文件(如果是装在C盘则在C盘目录下),一定要用写字板打开这个文件,找到有一行这样的Link for Code Composer Studio?/name>,大概是在第七行吧,把这句的/name>改成,再保存一下这文件。

MATLAB实验题答案

1、求以下变量的值,并在MATLAB中验证。( 1 ) a = 1 : 2 : 5 a = 1 3 5 ( 2 ) b = [ a' , a' , a' ;a ] b = 1 1 1 3 3 3 5 5 5 1 3 5 ( 3 ) c = a + b ( 2 , : ) c = 4 6 8 2、下列运算是否合法,为什么?如合法, 结果是多少? >> result2=a*b Error using * Inner matrix dimensions must agree. >> result3=a+b result3 = 3 6 2 5 8 11 >> result4=b*d result4 = 31 22 22 40 49 13 >> result5=[b;c']*d result5 = 31 22 22 40 49 13 -5 -8 7 >> result6=a.*b result6 = 2 8 -3 4 1 5 30 >> result7=a./b result7 = 0.5000 0.5000 -3.0000 4.0000 1.6667 1.2000>> result8=a.c Attempt to reference field of non-structure array. >> result9=a.\b result9 = 2.0000 2.0000 -0.3333 0.2500 0.6000 0.8333 >> result10=a.^2 result10 = 1 4 9 16 25 36 >> result11=2.^a result11 = 2 4 8 16 32 64 3、用MATLAB求解下面的的方程组。 (1) ? ? ? ? ? ? ? ? ? ? ? ? - = ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? - - - - 1 7 4 13 2 3 1 5 11 2 2 2 3 15 9 2 1 2 7 4 3 2 1 x x x x >> A=[7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13] >> B=[4 7 -1 0] >> B=B' >> x=inv(A)*B (2) ? ? ? ? ? ? ? = - + + = - - = - + + = + + 5 6 5 3 3 3 3 2 8 2 1 w z y x w y x w z y x z y x >> A1=[1 1 1 0;1 2 1 -1;2 -1 0 -3;3 3 5 -6] >> B2=[1;8;3;5] >> x2=inv(A1)*B2 4、已知 ? ? ? ? ? ? ? ? ? ? ? ? - - - - = 13 2 3 1 5 11 2 2 2 3 15 9 2 1 2 7 A

基于MATLAB图像处理报告.docx

基于M A T L A B图像处理报告一、设计题目 图片叠加。 二、设计要求 将一幅礼花图片和一幅夜景图片做叠加运算,使达到烟花夜景的美图效果。 三、设计方案 3.1、设计思路 利用matlab强大的图像处理功能,通过编写程序,实现对两幅图片的像素进行线性运算,利用灰度变换的算法使图片达到预期的效果。 3.2、软件介绍 MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB 也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户直接进行下载就可以用。

matlab常见错误命令

matlab常见错误命令 >> a=【0 1 2 3 4 5 6 7 8 9】 ??? a=【0 1 2 3 4 5 6 7 8 9】 Error: The input character is not valid in MATLAB statements or expressions. error ['er?]n. 错误,过失input ['input]n. 输入character ['k?rikt?]n. 个性,字符,人物valid ['v?lid]a。有确实根据的,有效的,正当的statement ['steitm?nt]n. 声明,陈述expression [iks'pre??n]n. 表达,表示,表现,表情,措辞,词句expressions n.表示式公式>> x=-5:5;y=-5:5;z=x^2+y^2;polt(x,y,z) Error using ==> mpower Matrix must be square. matrix ['meitriks]n. 母体,子宫,细胞,脉石,字母n.矩阵 square [skw??]n. 正方形,街区,平方a. 正方形的,正直的,公正的v. 一致,符合,使...成方形>> x=-5:5;y=-5:5;z=x.^2+y.^2;polt(x,y,z) Undefined function or method 'polt' for input arguments of type 'double'. undefined ['?ndi'faind]未定义的function ['f??k??n]n.功能,函数,重大聚会vi. 运行,起作用method ['meθ?d]n. 方法,办法argument ['ɑ:gjum?nt]n. 辩论,争论,论据,理由

学习Matlab 心得体会

Matlab 心得体会 本学期通过对MATLAB的系统环境,数据的各种运算,矩阵的分析和处理,程序设计,绘图,数值计算及符号运算的学习,初步掌握了MATLAB的实用方法。通过理论课的讲解与实验课的操作,使我在短时间内学会使用MATLAB,同时,通过上机实验,对理论知识的复习巩固实践,可以自己根据例题编写设计简单的程序来实现不同的功能,绘制出比较满意的二维三维图形,在实践中找到乐趣。 MATLAB是一个实用性很强,操作相对容易,比较完善的工具软件,使用起来比较方便,通过操作可以很快看到结果,能够清晰的感觉到成功与失败,虽然课程中也会出现一些小问题,但是很喜欢这门课程。在为学习这门课前就听说了他的强大,因为现在的很多模型都是需要这些分析软件的。曾经旁听过学校数学建模的课程,当时老师用的是lingo。对那个只需要U盘携带就可以安装的小东西记忆深刻。等到学习matlab时觉得这才是真正的王道啊。 它不仅有强大的运算功能,还有强大的绘图功能,虽然学习了有一个学习,但是我对他的了解额仅仅是一点点,或许连入门都谈不上。因为我学习时了解到一个现实。就是matlab 的学习依赖有比较好的数学功底,其中我看最经常运用到的就是矩阵。我从网上了解到matlab是一门高等数学和计算机技术结合的东西,学习它必须具有相应的数学和计算机知识。然而很可惜,我的书写不是很好。每次讲到这个部分的时候就觉得听说理解无能了。特别是我今年还是大三。虽然这学期的学习的时间短暂,就算时间足够,老师也不能把所有的都讲解给我们,因为一个软件的功能需要我们自己不断的去摸索,老师也不可能知道所有。老师只是个指路人,最终的学习还是要靠自己。而且在摸索的过程中,我们能够发现和体会学习的快乐。痛并快乐着是种常态了吧。 自我感觉学习matlab与其说是学习一门软件,更不如说是学习一门语言。用一种数理的语言描述现象,揭示表象下的规律。此外,我认为matlab中的作图功能很强大,不仅简单的函数现象可以明确画出,而且一些点状物,甚至立体图也可以画出。大一上微积分的时候,老师曾经多次在课件中加入用matlab画出的图来。不论是一维二维三维等等,都能很好的画出来。只要能编写出函数式,在短短的几秒之内,他就会呈现在你眼前。另外就是图形的直观性,这是由阴影的制作的。而且可以根据需要,坐标图上加标题,坐标轴标记,文本注释级栅格等,也可以指定图线形式,比如是虚线。颜色也可以自己来定。可以在同一张图上画,也可以单个显示。 在学习的过程中,因为以前学过access中的select语言,觉得就编写这方面是有共性的,但是matlab的编程语言似乎更多更复杂一点,这是由于涉及的数学模型,数学公式更多的原因。可是今年的这门课真的是让我感到没学到什么,估计也是因为我抱着看一看的随意态度来的吧,也没有那种遇到不懂的就一定要弄懂它的决心和毅力。说什么都是借口了,无法掩饰我没有学好它的事实。事实上,我觉得今年这门课的重点并不是让我们掌握这种软件的具体用法,而是主要向我们展示如何用它去解决一些金融问题,数学问题。这点让我很郁闷,因为我不懂得原理,听起来这门课倍感吃力啊。可是嘛,年轻没有什么不可以,又有谁可以断言我接下来的生活中不能好好学习这个东西为自己的工作,学习,生活,研究兴趣带来方便呢。 从大学开学的见闻到现在学习MATLAB,感觉这是一个很好的软件,语言简便,实用性强。作为一个做新手,想要学习好这门语言,可以说还是比较难的。在我接触这门语言的这些天,除了会画几个简单的图形,其他的还是有待提高。从另一个方面也对我们大学生提出了两个要求——充实的课外基础和良好的英语基础。在现代,几乎所有好的软件都是来自国外,假如不会外语,想学好是非常难的。

MATLAB实验题答案

result5 = ( 1 ) a = 1 : 2 : 5 a = 1 3 5 ( 2 ) b = [ a' , a' , a' ;a ] b = 1 1 1 3 3 3 5 5 5 1 3 5 ( 3 ) c = a + b ( 2 , : ) c = 4 6 8 2、下列运算是否合法,为什么如合法, 结果是多少 >> result2=a*b Error using * Inner matrix dimensions must agree. >> result3=a+b result3 = 3 6 2 58 11 >> result4=b*d result4 = 31 22 22 40 49 13 31 22 22 40 49 13 -5 -8 7 >> result6=a.*b result6 = 2 8 -3 415 30 >> result7=a./b result7 = >> result8= Attempt to reference field of non-structure array. >> result9=a.\b result9 = >> result10=a92 result10 = 1 4 9 16 25 36 >> resultl 1=29a result11 = 2 4 8 16 32 64 >> result5=[b;c']*d 3、用MATLAB求解下面的的方程组。 1、求以下变量的值,并在MATLAB^验证。

1 2 x1 3 2 x2 11 5 x3 2 1 3 x4 >> A=[7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13] >> B=[4 7 -1 0] >> B=B' >> x=inv(A)*B >> A1=[1 1 1 0;1 2 1 -1;2 -1 0 -3;3 3 5 -6] >> B2=[1;8;3;5] >> x2=inv(A1)*B2 7 2 1 2 9 15 3 2 2 2 11 5 1 3 2 13 (1)求矩阵A的秩(rank) (2)求矩阵 A 的行列式(determinant) (3)求矩阵 A 的逆(inverse) (4)求矩阵 A 的特征值及特征向量 (eigenvalue and eigenvector) >> A3=[7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13] >> r=rank(A3) >> b=inv(A3) >> a=det(A3) >> [V,D]=eig(A3) 10 n 10 查看y 的值) m1=0; for m=-10:10 m仁m1+2^m; end m1 m1 = 6、求分段函数的值。 用if 语句实现,算出下列表中x 对应的y 值。 x=input('enter x='); if x<0 y=x A2+x-6; elseif x>=0&&x<5 y=xA2-5*x+6; else y=xA2-x-1; end y 7、分别用if 和switch 语句实现,将百分 制成绩转换为成绩等级A、B、C、D、E。 其中90~1 00分为A,80~89 分为B,70~79 分为C,60~69 分为D,60 分以下为E。 对超出百分制范围的成绩,给出错误提示 信息。 if 结构程序: x=input('please enter score='); if x>=90&&x<=100 9 2 10 disp('A') 7 2 9 15 (1) 2 2 1 3 4 7 1 0 A 4、已知 2n 2 10 29

MATLAB课程设计-图像处理完整版

MATLAB课程设计 设计题目:应用图像处理 班级: 学号: 姓名: 指导老师: 设计时间:2013年4月8号-4月14号

摘要 21世纪是一个充满信息的时代,图像作为人类感知世界的视觉基础,是人类获取信息、表达信息和传递信息的重要手段。图像处理,是用计算机对图像进行分析,以达到所需结果的技术。又称影像处理。基本容图像处理一般指数字图像处理。数字图像是指用数字摄像机、扫描仪等设备经过采样和数字化得到的一个大的二维数组,该数组的元素称为像素,其值为一整数,称为灰度值。图像处理技术的主要容包括图像压缩,增强和复原,匹配、描述和识别3个部分。常见的处理有图像数字化、图像编码、图像增强、图像复原、图像分割和图像分析等。图像处理一般指数字图像处理。所谓数字图像处理[7]就是利用计算机对图像信息进行加工以满足人的视觉心理或者应用需求的行为。实质上是一段能够被计算机还原显示和输出为一幅图像的数字码。 关键词:DCT变换;图像压缩;真色彩增强;平滑;锐化;直方图均衡; 灰度变换;滤波;M文件的使用 目录 摘要………………………………………………………………I 1 概述……………………………………………………………II 2 课程设计任务及要求...............................III 2.1.1设计任务 2.1.2设计要求 3 系统设计原理 (Ⅳ)

3.1 DCT图像压缩原理 3.2 真彩色增强 3.2.1平滑 3.2.2锐化 3.3 灰度变换(直方图均衡化) 3.4 图像滤波 3.4.1中值滤波器 3.4.2维纳滤波器 4 程序代码及实验结果与分析 (Ⅵ) 4.1 DCT图像压缩 4.1.1程序代码 4.1.2实验结果 4.1.3结果分析 4.2 真彩色增强 4.2.1平滑程序代码 4.2.2实验结果 4.2.3结果分析 4.2.4锐化程序代码 4.2.5实验结果 4.2.6结果分析 4.3 灰度变换(直方图均衡化) 4.3.1程序代码

matlab常见错误

1.Subscript indices must either be real positive integers or logicals 中文解释:下标索引必须是正整数类型或者逻辑类型 出错原因:在访问矩阵(包括向量、二维矩阵、多维数组,下同)的过程中,下标索引要么从 0 开始,要么出现了负数。注:matlab 的语法规定矩阵的索引从1 开始,这与 C 等编程语言的习惯不一样。 解决办法:自己调试一下程序,把下标为 0 或者负数的地方修正。 2.Undefined function or variable "U" 中文解释:函数或变量 U 没有定义 .出错原因及解决办法:可能变量名输入错误,仔细检查 3.Matrix dimensions must agree 中文解释:矩阵的维数必须一致 出错原因:这是由于运算符(= + - / * 等)两边的运算对象维数不匹配造成的,典型的出错原因是错用了矩阵运算符。matlab 通过“.”来区分矩阵运算和元素运算。 解决办法:自己调试一下程序,保证运算符两边的运算对象维数一致。 4.Function definitions are not permitted at the prompt or in scripts 中文解释:不能在命令窗口或者脚本文件中定义函数 出错原因:一旦在命令窗口写 function c = myPlus(a,b),此错误就会出现,因为函数只能定义在 m 文件中。关于脚本文件和 m 文件的区别请查阅 matlab 基础书。简言之: 1) 如果你写成 function 的形式,那么必须写在 m 文件中,且以 function 开头(即 function 语句前不能包含其他语句,所有语句必须放在 function 中,当然,function 的定义可以有多个,各 function 之间是并列关系,不能嵌套); 2) 如果你写成脚本的形式,则既可以写在命令窗口中,也可以写在 m 文件中,但两者均不能包含 function 语句(即不能进行函数的定义) 解决办法:新建一个 m 文件,然后再进行函数的定义 5.One or more output arguments not assigned during call to '...' 中文解释:在调用...函数过程中,一个或多个输出变量没有被赋值 出错原因:函数如果带有输出变量,则每个输出在返回的时候都必须被赋值。容易出现这个错误的两个地方是:在部分条件判断语句(如 if )中没有考虑到输出变量的返回值。 在循环迭代过程中部分变量的维数发生了变化。 解决办法:调试程序,仔细查看函数返回时各输出变量的值。更好的方法是:在条件判断或者执行循环之前对所使用的变量赋初值。 6.??? Index exceeds matrix dimensions.

matlab图像处理小结

1.function [center, r] = solve_circle(pt1, pt2, pt3) 2.%Effect: solve the circle which across points 'pt1', 'pt2' and 'pt3' 3.%Inputs: 4.%pt1, pt2, pt3: [x, y] 5.%center: the circle center [x0; y0] 6.%r: the radius of the circle 7.%Author: Su dongcai at 2012/1/2 8. A = zeros(2, 2); B = zeros(2, 1); 9.[A(1, :), B(1)] = circle2line(pt1, pt2); 10.[A(2, :), B(2)] = circle2line(pt2, pt3); 11.center = A\B; 12.r = norm(pt1' - center); 13. 14.function [A, B] = circle2line(pt1, pt2) 15.%Effect: cast 2 circles equation into 1 linear equation: 16.%(a-x1)^2 + (b-y1)^2 = r^2 | 17.% |==> 2(x1-x2)a + 2(y1-y2)b = (x1^2 + y1^2) - (y2^2 + y2^2) 18.%(a-x2)^2 + (b-y2)^2 = r^2 | 19.%Inputs: 20.%pt1, pt2: [x1, y1], [x2, y2] 21.%Outputs: 22.%A: 2[x1-x2, y1-y2] 23.%B: (x1^2 + y1^2) - (x2^2 + y2^2) 24.%Author: Su dongcai at 2012/1/2 25.A = 2*(pt1 - pt2); 26.B = norm(pt1)^2 - norm(pt2)^2; close all;clear;clc; >> i=imread('rice.png'); %>> imshow(i); >> background=imopen(i,strel('disk',15)); >> i2=imsubtract(i,background); %>> figure,imshow(i2); >> i3=imadjust(i2,stretchlim(i2),[0 1]); %>> figure,imshow(i3); >> level=graythresh(i3); >> bw=im2bw(i3,level); %>> figure,imshow(bw); >> [labeled,numobjects]=bwlabel(bw,4); graindata=regionprops(labeled,'all');

学习Matlab的总结与感想

海南大学本科生 2010—2011学年度第2学期 课程考查论文 学院(中心、所):信息科学技术学院专业:电子信息工程研究方向:班级: 学生姓名:学生证号: 课程名称:Matlab应用基础 论文题目:学习Matlab的总结与感想 任课老师: (以上由学生填写) 教师评阅: 阅卷教师(签名):年月日

摘要 本文从计算机语言、数学建模、网络控制系统仿真与结构化思维等方面阐述了半年来学习Matlab的心得体会与感想。由于个人知识有限,在部分细节问题的理解上可能存有偏差,还请杜老师批评指正,不吝赐教。 关键词:Matlab语言数学建模软件网络控制系统仿真结构化思维

学习Matlab 快半个学期了,虽然还有很多问题不是很清楚,但通过实践学习,我对于Matlab 总算有个整体的理解,而且每次上机操作,都会有一定的收获和感想,下面,就谈谈我个人对于Matlab 的一些看法。 (Matlab 语言) Matlab 和其它语言不一样,我这个学期学习的是C 语言,另外,对于Action Script 、HTML 、php 语言也接触过一些。C 语言主要是面向过程的,它的灵活性比较强,可根据自己的意图编辑程序,但所耗费的时间和精力比较大。例如定义变量,就分为int 、float 、char 等类型,十分麻烦,而Action Script 与php 就显得比较随意,不必纠结于哪一种类型的变量,比如,定义Var number=3,Var play=true 即可。相对于前两者而言,Matlab 则显得更为灵活与快捷,它是一门解释性语言,能自动将高级语言翻译成机器语言。比如,求t f 2=,当t=0,1,2,3,4,5时)(t f 的值。如果使用C 语言则需要定义变量,调用math 函数,还要应用for 循环、输出函数,而Matlab 则不然,只需输入t=0:5;f=2.^t ,然后回车即可。 另外,Matlab 还配有许多常用公式,操作起来十分方便,例如,想求出)(2)()(2)(3)(''''t f t f t y t y t y +=++在1)0(=y ,1)0('=y 时的零输入响应,应用dsolve 函数,只需输入x=dsolve('D2y+3*Dy+2*y=0','y(0)=1,Dy(0)=1') 回车,即得结果:x=3*exp(-t)-2*exp(-2*t)。或许,也正是Matlab 语言简洁、优化的特点,才使得它在学术界被广泛应用吧。 (数学建模) 对于数学建模而言,Matlab 是一款相当不错的建模辅助工具,因为 Matlab 中有统计函数,线性分析函数,插值函数,非线性分析函数等等这些数模必备的函数,而且,Matlab 强大的绘图功能可使很多数学演算过程变得可视化。这些对于分析问题都很有帮助。虽然我们学习的Matlab 是电子信息工程方向的,但在下个学期,,班里的大部分同学都要参加数模竞赛,所以掌握好Matlab 的各种函数模式就显得尤为重要了。

MATLAB实验题目及答案

实验二一维二维数组的创建和寻访 一、实验目的 1、掌握一维数组、二维数组创建和寻访的几种方法。 2、区别数组运算和矩阵运算的差别。 3、熟悉执行数组运算的常用数组操作函数。 4、掌握数组运算中的关系和逻辑操作及常用的关系、逻辑函数。 5、掌握“非数”、“空”数组在MA TLAB中的应用。 二、实验主要仪器与设备 装配有MA TLAB7.6软件的计算机 三、预习要求 做实验前必须认真复习第三章MATLAB的数值数组及向量化运算功能。 四、实验内容及实验步骤 1、一维数组的创建方法有哪几种?举例说明。 答:一维数组的创建方法有: ①递增/递减型一维数组的创建:冒号生成法:x=a:inc:b 线性(或对数)定点法:x=linspace(a,b,n),x=logspace(a,b,n) ②逐个元素输入法:如x=[0.1,sin(pi/5),-exp(-3),-2*pi] ③运用MA TLAB函数生成法:例ones,rand等。 2、输入以下指令,并写出运行结果。本例演示:数组元素及子数组的各种标识和寻访格式;冒号的使用;end的作用。 A=zeros(2,6) %创建(2×6)的全零数组 A(:)=1:12 %赋值号左边:单下标寻访(2×6) 数组A的全部12个元素 %赋值号右边:拥有12个元素的一维数组 A(2,4) %双下标:A数组的第2行第4列元素 A(8) %单下标:数组A的第8个元素 A(: , [1,3]) %双下标:显示A的“第1列和第3列上全部行的元素” A([1, 2, 5, 6]') %单下标:把A数组第1,2,5,6个元素排成列向量 A(: , 4:end) %双下标:显示A的“从第4起到最后一列上全部行的元素” %在此end用于“列标识”,它表示“最后一列” A(2,1:2:5)=[-1, -3, -5] %把右边的3个数分别赋向A数组第2行的第1,3,5个元素位置 B=A([1, 2, 2, 2], [1, 3, 5]) %取A数组的1,3,5列的第1行元素作为B的第1行 %取A数组的1,3,5列的第2行分别作为B的第2,3,4行 L=A<3 %产生与A维数相同的“0,1”逻辑数组 A(L)=NaN %把逻辑1标识的位置上的元素赋为“非数” 运行结果: A = 0 0 0 0 0 0 0 0 0 0 0 0

Matlab实验指导书(含答案)汇总

实验一:Matlab操作环境熟悉 一、实验目的 1.初步了解Matlab操作环境。 2.学习使用图形函数计算器命令funtool及其环境。 二、实验内容 熟悉Matlab操作环境,认识命令窗口、内存工作区窗口、历史命令窗口;学会使用format命令调整命令窗口的数据显示格式;学会使用变量和矩阵的输入,并进行简单的计算;学会使用who和whos命令查看内存变量信息;学会使用图形函数计算器funtool,并进行下列计算: 1.单函数运算操作。 求下列函数的符号导数 (1) y=sin(x); (2) y=(1+x)^3*(2-x); 求下列函数的符号积分 (1) y=cos(x); (2) y=1/(1+x^2); (3) y=1/sqrt(1-x^2); (4) y=(x-1)/(x+1)/(x+2); 求反函数 (1) y=(x-1)/(2*x+3); (2) y=exp(x); (3) y=log(x+sqrt(1+x^2)); 代数式的化简 (1) (x+1)*(x-1)*(x-2)/(x-3)/(x-4); (2) sin(x)^2+cos(x)^2; (3) x+sin(x)+2*x-3*cos(x)+4*x*sin(x); 2.函数与参数的运算操作。 从y=x^2通过参数的选择去观察下列函数的图形变化 (1) y1=(x+1)^2 (2) y2=(x+2)^2 (3) y3=2*x^2 (4) y4=x^2+2 (5) y5=x^4 (6) y6=x^2/2 3.两个函数之间的操作 求和 (1) sin(x)+cos(x) (2) 1+x+x^2+x^3+x^4+x^5 乘积 (1) exp(-x)*sin(x)

matlab图像处理综合实验实验报告

《数字图像处理》 实验报告 学院: 专业: 班级: 姓名: 学号:

实验一 实验名称:图像增强 实验目的:1.熟悉图像在Matlab下的读入,输出及显示; 2.熟悉直方图均衡化; 3.熟悉图像的线性指数等; 4.熟悉图像的算术运算及几何变换. 实验仪器:计算机,Matlab软件 实验原理: 图像增强是为了使受到噪声等污染图像在视觉感知或某种准则下尽量的恢复到原始图像的水平之外,还需要有目的性地加强图像中的某些信息而抑制另一些信息,以便更好地利用图像。图像增强分频域处理和空间域处理,这里主要用空间域的方法进行增强。空间域的增强主要有:灰度变换和图像的空间滤波。 图像的直方图实际上就是图像的各像素点强度概率密度分布图,是一幅图像所有像素集合的最基本统计规律,均衡化是指在每个灰度级上都有相同的像素点过程。 实验内容如下: I=imread('E:\cs.jpg');%读取图像 subplot(2,2,1),imshow(I),title('源图像') J=rgb2gray(I)%灰度处理 subplot(2,2,2),imshow(J) %输出图像 title('灰度图像') %在原始图像中加标题 subplot(2,2,3),imhist(J) %输出原图直方图 title('原始图像直方图') 0100200

I=imread('E:\cs.jpg');%读取图像 subplot(1,2,1),imshow(I); theta = 30; K = imrotate(I,theta); subplot(1,2,2),imshow(K) 对数运算: I=imread('E:\dog.jpg'); subplot(2,2,1),imshow(I),title('源图像') J=rgb2gray(I)%灰度处理 subplot(2,2,2),imshow(J),title('灰度变换后图像') J1=log(1+double(J)); subplot(2,2,3),imshow(J1,[]),title('对数变换后') 指数运算: I=imread('E:\dog.jpg'); f=double(I); g=(2^2*(f-1))-1 f=uint8(f); g=uint8(g);

matlab安装常见问题及解决方案

matlab安装时的问题及解决方法 1.安装时缺少mwinstall.dll的两种解决方法 今天安装matlab 7.0,结果出现了下面提示: The installer cannot read the mwinstall.dll file, This is probably due to a CD reader which can only read files with an eight.three naming convention. Please see the technical support page at https://www.360docs.net/doc/0214432992.html, 搜索了一下百度,可以这样解决: 在系统环境变量(右键打开我的电脑->属性->高级->环境变量)内修改用户变量中的TEMP和TMP值,使之与系统变量相对应的TEMP和TMP一样,或者在C盘下建立C:\temp目录,然后把用户变量中的TEMP和TMP值全都改成C:\temp,确定后就可以安装。 如果上面的方式不行的话(我就是这样) 那么把matlab的安装文件夹拷到C盘根目录下,就可以安装了。 2.[推荐] matlab7.0的plp 14-35392-57842-08484-51918-65127-20615-58251-25863-41734-36749-62468-1858 8-17416-34304-09016-01360-60742-14636-39593-62798-29971-50921-64950-39730 -63578-40265-12488-31210-33908-42704-31275-23962-29047 14-13531-19296-24560-20147-44308-03958-00844-31365-30221-49822-53101-4937 1-40464-62160-05002-40310-37359-48633-64466-15884-57760-64649-27202-63216 -21440-58183-16381-31228-38995-55241-00649-11266-22286

学习matlab心得体会

1.前言 2.matlab的一些特点 3.学习matlab心得体会 4.matlab的一些资源 1.前言 我接触Matlab的时间比较长了,最开始是在大学里面的数学实验课上了解了一些,学了些基础的命令,后来参加过一次数学建模,又自学了点。而后由于所学的专业是生命科学和环境相关的东西,用到matlab的机会不多,主要是一些功能用matlab实现起来不是很方便,而且手边有现成的软件可以做到,例如图像分析,还有DNA序列分析都有现成软件等。本以为不会与其有太多交集。我下决心学习matlab是在经历几件事情之后。当时,在做硕士论文时需要对电泳图片做微生物种群的多样性分析和相似性分析,当时手头的软件只能将电泳图转化为各个泳道的灰度和位置方面的数据,而不能对数据进行分析,而能进行这样分析的软件(Bionumerics)比较贵,只为了这个用几次而买显然很不划算。无奈之下,我查了些文献,了解计算的原理后便用比较熟悉的matlab编程解决这个问题,其实这个程序比较简单--DGGE中条带Shannon多样性指数的计算,在现在看来,根本不值一提,但是在当时自我感觉还是不错的,相当有成就感了。后来在课程(数值分析,微分方程数值解)中matlab经常用到,另外在帮师姐做管理方面的数学模型时用的比较多,便自学了相关方面的知识,主要是看书,自己编程还有上网交流,这时在百度上回答了很多matlab相关的问题,并成为百度matlab技术论坛的副团长,在emuch中蒙前计算模拟区区长cenwanglai 看重,聘为计算模拟版的版主。Matlab涉及的方面非常广,下面我就自己的理解谈下matlab 一些特点和我学习matlab的一点体会,希望能对大家有点帮助,有什么不对的地方,敬请指正! 2.matlab的一些特点 A.Matlab是一个基于矩阵运算的软件,这恐怕是众所周知的事情了,但是,真正在运用的时候(就是在编程的时候),许多人(特别是初学者)往往没有注意到这个问题,因此,for 循环(包括while循环)嵌套了十几层,这不仅是暴殄天物(没有发挥matlab所长),还浪费了你宝贵的时间,就只见左下角一直busy。 B.友好的界面,易于操作,虽然matlab一打开总看到命令行窗口,其实matlab有很多

Matlab学习心得系列——002.Matlab编程思想——向量化编程

2.Matlab 编程思想——向量化编程 C 语言的基本元素是单数值(比如单变量或数组里的元素),再加上 其结构化的特点,决定了通常 C 语言程序大都充斥着大量罗嗦的单变量循环和判断语句(注 1)。 而 Matlab 是以向量、矩阵为基本元素的,所以要编写真正的 Matlab 程序必须抛弃【 C 语言那种“单数值、元素化”考虑问题】的思路,转以向量、矩阵为最小单位来考虑问题。也就是说, Matlab 的编程思想是——向量化编程,即面向向量或矩阵。 这样做的好处,至少有两个: (1)代码大大简化,易编程、清晰可读性强; 这样的代码才叫Matlab 代码,否则只能是不伦不类的代码:C 不 C,Matlab 不 Matlab. (2)执行效率也更高; 这是次要的,随着 Matlab 对循环机制的优化,速度差异已不再 那么明显,关键是( 1)

下面针对 Matlab 中常见的向量化处理问题方法,举例加以说明:(一)整体操作“大块数据” Matlab 为同型的数据块(向量或矩阵)的整体做运算提供了【点 运算】,这里我借用《线性代数》里的说法,矩阵行数、列数相同 称为同型矩阵, Matlab 里矩阵可能不止 2 维。 比如, A.*C 和 A./C 表示 A 与 C的对应位置的各元素做* 和 /运算得到与它们同型的一个新矩阵。 例1.物理实验利用测得的电压电流具体数据,验证欧姆定律R=U/I. 代码 1(C语言风格) U = [0.89, 1.20, 3.09, 4.27, 3.62, 7.71, 8.99, 7.92, 9.70, 10.41]; I = [0.028,0.040,0.100,0.145,0.118,0.258,0.299,0.257, 0.308, 0.345]; L = length(U); S=0; for k = 1:L R(k) = U(k)/I(k); S = S + R(k); end R=S/L 运行结果: R = 30.5247

MATLAB实验上机易错题汇总

1、完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。(2) 建立一个字符串向 量,删除其中的大写字母。 (1) m=100:999; n=find(mod(m,21)==0); length(n) ans = 43 (2)>> ch='Maybe One Day' p=find(ch>='A'&ch<='Z') ch(p)=[] ch = Maybe One Day 2、自行产生一个5行5列的数组,分别得到最中间的三行三列矩阵、右下角2行2列矩阵, 奇数行矩阵、奇数列矩阵、奇数行奇数列矩阵。 >> t=rand(5)%生成矩阵 A=t(2:4,2:4)%中间三行散列矩阵 B=t(4:5,4:5)%右下角两行两列矩阵 C=t(1:2:end,:)%奇数行矩阵 D=t(:,1:2:end)%奇数列矩阵 E=t(1:2:end,1:2:end)%奇数行列矩阵 3、求方程组的根 syms x y z [X Y Z]=solve('x+4*y-3*z=2','2*x+5*y-z=11','x+6*y+z=12',x,y,z) 4、已知矩阵A=[1 2;3 4],运行指令B1=A.^(0.5), B2=A^(0.5), 可以观察到不同运算方法所得结果不同。(1)请分别写出根据B1, B2恢复原矩阵A的程序。(2)用指令检验所得的两个恢复矩阵是否相等(利用norm(…,’fro’)指令,误差矩阵F-范数,接近eps量级,认为实际相等)。 5、先运行clear,format long,rng('default'),A=rand(3,3),然后根据A写出两个矩阵:一个对角 阵B,其相应元素由A的对角元素构成;另一个矩阵C,其对角元素全为0,而其余元素与对应的A阵元素相同(diag指令的使用)。 >> format long >> rand('twister',1) >> A=rand(3,3) A = 0.417022004702574 0.302332572631840 0.186260211377671

相关文档
最新文档