1. 在MATLAB环境下运行程序时,错误“函数的定义不是在提示符下或在脚本允许的。”是怎么解决啊
matlab提供的C/C++编译器,将m文件编译成可执行的应用程序。
MATLAB中的操作
1.没有使用图形相关的函数
由于MATLAB的编译器只能对函数m文件进行编译,所以如果原来的程序是脚本程序应改写成函数形式。举例如下:
建立一个m文件test1.m,内容如下:
function y = test1(n)
y = 1 ;
for i = 1 : n
y = y * i ;
end
用如下命令对其进行编译:”
mcc –t –L CPP –h test1.m
(如果程序由多个m文件组成,在编译命令中只需要指定主文件即可,mcc会自动查找相应的m文件进行编译)
编译完成后会得到与m文件名相对应hpp和cpp文件,本例中是test1.hpp和test1.cpp。
2.使用了图形相关的函数
建立一个m文件test2.m,内容如下:
function test2
plot(rand(10));
用如下命令编译:
mcc –p –B sglcpp test2.m
(如果程序由多个文件组成,处理方法同上)
编译完成后得到与m文件名相对应的hpp和cpp文件、一个主函数文件、bin目录中的两个Fig文件以及一个exe文件。我们需要的只是与m文件相对应的hpp文件、cpp文件以及bin目录中的两个fig文件,本例中是test2.hpp,test2.cpp以及bin目录中的FigureMenuBar.fig和FigureToolBar.fig。
详情请登录:
2. matlab提示错误:此上下文中不允许函数定义.
用法上出现错误导致的报错。解决方法和操作步骤如下:
1、首选,打开编译器,然后在命令行中键入edit打开,如下图所示。
3. matlab exe文件执行时出错
你程序没错 只是你安装的visual没安装好,有两种可能,一是路径错误。二是环境变量错了。一下给你讲。
你是用的VC++编译器吧,
我用这个也出现了这种的开始不知道麻烦的很弄了几小时。
具体步凑:
一: “CL.exe”是VC使用真正的编译器(编译程序),其路径在“VC根目 录 \VC98\Bin”下面,
你可以到相应的路径下找到这个应用程序。
因此问题可以按照以下方法解决:打开vc界面 点击VC“TOOLS(工 具)”—>“Option(选择)”
—>“Directories(目录)”重新设置“Excutable Fils、Include Files、
Library Files、Source Files”的路径。很多情况可能就一个盘符的不同
(例如你的VC装在C,但是这些路径全部在D),改过来就OK了。
如果你是按照初始路径安装vc6.0的,路径应为:
executatble files:
C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin
C:\Program Files\Microsoft Visual Studio\VC98\BIN
C:\Program Files\Microsoft Visual Studio\Common\TOOLS
C:\Program Files\Microsoft Visual Studio\Common\TOOLS\WINNT
include files:
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE
library files:
C:\Program Files\Microsoft Visual Studio\VC98\LIB
C:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB
source files:
C:\Program Files\Microsoft Visual Studio\VC98\MFC\SRC
C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\CRT\SRC
如果你装在其他盘里,则仿照其路径变通就行(我就是装在D盘)。
关键是microsoft visual studio\ 后面的东西要相同。
本人深受其害,重装多次不管用,上面中文部分为高手借鉴。
二: 如果上述功能不行的话你就看看环境变量。
右键单击我的电脑->选择属性->选择高级->环境变量->选PATH 点编辑->把除VC的都删了。就OK了。
我的电脑这样就可以调试了。没问题。(最好是把你删的内容建个文件保存起 以防万一)。
有用的话回复!!!
4. matlabjaconbin不能编译
版本不对应。
可以先检查下目前使用的编译器的版本,打开编译器文件夹,找到gcc.exe所在文件夹,在cmd命令界面中,切换到gcc.exe所在文件夹目录,并键入“gcc-v”,可以查看目前使用编译器的版本,通过Matlab帮助等,找到Matlab支持的编译器版本等,选择网址,进入相应页面,安装下载的文件,弹出如下设置对话框,这儿一定要设置好。比如版本号一定要设置成6.3.0,版本过高或过低都不行,另外,由于安装在windows64位上,所以选择x86-64,以及win32,其它,可默认,或选择另外的都可以。选择“下一步”,直到安装完成。
5. 在MATLAB/Simulink编译的时候出错
你这是用dSPACE仿真机进行硬件在回路仿真的吗?
从报错信息看,是向仿真机加载程序时出错,原因是找不到仿真机。
1、首先确认你的工作环境有仿真机,那可不是个小数目,随便配置一下也要几十万;
2、确信仿真机已打开,与上位机的通信光纤也已连接配置好;
3、试试打开dSPACE的ControlDesk软件,从该软件里面查看仿真机的状态。
6. matlab编译出错
将mex指令后的小写-l 改成大写-L
7. MATLAB进行mcc编译时出错提示mbuild不是内部或外部指令是怎么回事
可能你没有装C的编译器
8. MATLAB编译器配置mex -v 出错
[r,c]
=
find(r
==
max(r(:)));
检索r中最大元素所在的位置(行标r和列标c)
thetap
=
theta(c(1));
theta()是自定义函数