⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mixfigure.txt.bak

📁 自己写的一个vc与MATLAB混合编程的例子
💻 BAK
字号:
1、发布:(在未安装matlab的环境下运行本程序的要求)
推荐操作系统:Win2000
要求首先安装matlab自身提供的动态连接库的安装包mglinstaller.exe,应是matlab6.5版(鉴于7.0对于混合编程有较大变动,本程序对7.0并不兼容)
该安装包可在装有matlab6.5的电脑上找到,位置为:你的matlab安装盘/matlab6p5/extern/lib/win32/mglinstaller.exe
或者可以到该链接处下载
http://jupiterd.mofile.com/9789774844913596/4057510049840010/2/B11D4CA8FA24DD987360FB3327BBE563/mglinstaller.exe
安装流程:


如何脱离MATLAB环境运行
   上面介绍了VC++中调用MATLAB函数的方法,此时应用程序需要和MATLAB环境同时运行,并
   且通过MATLAB的执行程序路径,调用了MATLAB的动态连接库,实际上并没有完全脱离MATLAB,这是由于mcc功能上的限制。
如何真正脱离MATLAB呢?MATLAB提供了一个发行程序包,位于<MATLAB>\extern\lib\win32 \mglinstaller.exe,
执行它后将在指定目录下解压缩出bin和toolbox两个子目录,其中在bin\win32目录下就是数学库和图形库脱离
MATLAB运行所需的所有动态连接库,共有37个。重新启动之后,应用程序就可以在没有安装MATLAB的环境下运行了。
将路径加入环境变量PATH中”
我的电脑
属性 
高级
环境变两

刚才又试了试,拷贝mglinstaller.exe到目标机器,然后运行它,再把我的程序拷贝到bin\win32目录下,就可以了
原来我是在我的机器运行mglinstaller.exe,然后把生成的文件拷贝到目标机器,怎么不行呢? 


2、程序功能
a、绘制ax+by=c的曲线,注意b不可为0,可以通过编辑框和spin按钮调整a,b,c
b、对于输入矩阵进行矩阵计算。
输入格式:
[1 0 0
0 2 0
0 0 3]
用空格表示两个元素
用回车表示两行
用“[”表示矩阵开始
用“]”表示矩阵结束。

可以实现求逆,特征值和特征向量的功能
在结果输出框中输出,此框不可编辑。


3、程序流程
首先在VC环境下新建基于对话框的MFC应用程序,编写初始化语句,构建各个控件的位置和大小,确定响应函数
其次,在matlab环境下编写各个功能的m文件日,然后编译成C函数
对于矩阵计算部分
使用的命令:
mcc -t -L Cpp mix_xxxxx
生成mix_xxxxx.hpp和mix_xxxxx.cpp
将这些文件copy到VC所建程序的目录下。
对于作图部分
使用的命令:
mcc -B sglcpp mix_xxxxx
生成
mix_xxxxx.hpp
mix_xxxxx.cpp
mix_xxxxx_mainhg.cpp
mix_xxxxx.exe
和bin文件夹。
将mix_xxxxx.hpp,mix_xxxxx.cpp拷贝到VC所建程序的目录下,其他文件均不需要

注意:在使用mcc命令之前应该将VC6和matlab连接起来。
即通过如下操作:
1. 启动Matlab,运行:
mex-setup
按照菜单提示选取MSVC6.0。
它将配置MEX使用MSVC为默认的编译器(创建C-MEX文件必需)。 

2. 在Matlab环境下运行:
mbuild-setup
按提示选取MSVC6.0。
它将配置使用MSVC6.0为默认的编译器(创建独立应用程序必需)。 


再次,将上述文件添加入工程中,编写接口部分。
包括:
绘图窗口的定位
标题栏、边框的去除
绘图窗口嵌入VC界面
窗口的等待响应
spin按钮和编辑框的相应
绘图按钮响应后对于绘图界面的操作
坐标轴(Y)的调整功能
输入矩阵的获得
输入矩阵类型转化为matlab的支持类型
具体的计算功能调用:求逆/特征值/特征向量
计算结果的处理 
计算结果的转化
计算结果的输出
各个矩阵计算按钮的响应
最后,在工程中添加链接库和相应的预处理程序定义
步骤1:设置h文件和库的位置
工具——选择——目录 设置include files
...\MATLAB6P5\EXTERN\INCLUDE
...\MATLAB6P5\EXTERN\INCLUDE\CPP
library files
...\MATLAB6P5\EXTERN\LIB\WIN32\MICROSOFT\MSVC60
...\MATLAB6P5\EXTERN\LIB\WIN32
(...表示你的matlab安装目录)
步骤2:设置链接库
工程——设置——link——Object/Library module添加
NAFXCW.LIB libmmfile.lib libmatlb.lib libmx.lib libmat.lib libmatpm.lib 
sgl.lib libmwsglm.lib libmwservices.lib 
分类改为input后
忽略库: 
msvcrt.lib 
步骤3:预处理程序定义
工程——设置——C/C++ ——预处理程序定义  添加: 
MSVC,IBMPC,MSWIND 

这样即可编译链接后运行。


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -