C#与matlab混合编程之函数的调用一
第一步:在matlab中 file - new - function 建立一个需要用的函数
代码:
function result = tempgridData(x,y,z,xi,yi) result = griddata(x,y,z,xi,yi,'v4'); end
tempgridData(x,y,z,xi,yi) 中参数的说明 x为X抽集合 y为Y抽集合 z为Z抽集合 xi为x抽上面的点 yi为Y抽上面的点
griddata:数据格点
格式
(1)ZI = griddata(x,y,z,XI,YI)
用二元函数z=f(x,y)的曲面拟合有不规则的数据向量x,y,z。griddata 将返回曲面z 在点(XI,YI)处的插值。曲面总是经过这些数据点(x,y,z)的。输入参量(XI,YI)通常是规则的格点(像用命令meshgrid 生成的一样)。XI 可以是一行向量,这时XI 指定一有常数列向量的矩阵。类似地,YI 可以是一列向量,它指定一有常数行向量的矩阵。
(2)[XI,YI,ZI] = griddata(x,y,z,xi,yi)
返回的矩阵ZI 含义同上,同时,返回的矩阵XI,YI 是由行向量xi 与列向量yi 用命令meshgrid 生成的。
(3)[XI,YI,ZI] = griddata(.......,method)
用指定的算法method 计算:
‘linear’:基于三角形的线性插值(缺省算法);
‘cubic’: 基于三角形的三次插值;
‘nearest’:最邻近插值法;
‘v4’:MATLAB 4 中的griddata 算法。
第二步: Ctrl+s保存该函数 可以直接放到桌面 文件后缀名是.M
第三步:在matlab中 file - new - DePloyment Project
如图:
Name表示项目名称 location表示项目所在的位置 type表示要做成接口的类型 打开之后如下
因为我的项目要求是做.Net 所以我选择倒数第三个.NET Asscembly 项目名称为TempModel
然后确定 出现如下图
然后添加点击 add Class 取名为 tempmodelC
如图:
然后在tempmodelC下面点击添加 Add files !!!! 选择第二步保存的 .m文件
在matlab中的最后一步就是.Net Asseembly 区域的最右边
如图
点开那个小齿轮 选择 build 就可以了!!! 就把该函数做成了一个dll 保存在红框框下面