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

📄 mixfigure.txt

📁 自己写的一个vc与MATLAB混合编程的例子
💻 TXT
字号:
1、发布:(在未安装matlab的环境下运行本程序的要求)
推荐操作系统:Win2000+VC6.0+Matlab6.5,编译好的程序只要附带 mglinstaller.exe(在matlab的安装目录中)中的数学和图形库即可在
没装matlab的机器上运行。 

要求首先安装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
安装流程:
1)、将mglinstaller.exe拷贝到某个文件夹中,譬如E:/Mix
2)、在该文件中运行mglinstaller.exe,出现命令窗口,对于其中的问题,一律按回车遵循默认设置。
3、安装结束后会出现bin文件夹,将准备发布的文件,也就工程中release文件夹下的mixfigure.exe复制到
bin文件夹的 win32文件夹中
4)、运行即可。
5)、对于有些操作系统,可能需要重启或者手动修改环境变量,修改方法:
我的电脑——属性——高级——环境变量
添加bin/win32文件夹 的位置(并非所有电脑需要这一步)

2、程序功能
a、绘制y=a*sin(b*x+c)的曲线,可以通过编辑框和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 + -