如何在Delphi中调用Matlab(ActiveX)?

news/2024/5/18 16:01:38 标签: matlab, delphi, integer, bbs

7).如何在Delphi中调用Matlab(ActiveX)?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22.BigGreen/MathTools#


        从这个地址下载例子:
        http://www.djpate.freeserve.co.uk/Matlab.htm

        还有一种方法是利用DelphiMEX,下载地址:
        http://Radio-BIP.qc.ca/DelphiMEX/DelphiMEX.html

        下面是把Alex Conradie的例子中选了一些主要的语句:

        var

         V : Variant;
         MReal : OleVariant;
         MImage : OleVariant;

        begin
         i,j : integer;

         MReal  := VarArrayCreate([0, 1, 0, 3], varDouble);
         MImage := VarArrayCreate([0,0,0,0], varDouble);

         V := CreateOLEObject('Matlab.Application');
         V.Execute('a=[1 2 3 4; 5 6 7 8]');
         V.GetFullMatrix('a','base',VarArrayRef(MReal),VararrayRef(MImage));
         for i := 0 to 1 do
          for j := 0 to 3 do
           Stringgrid1.Cells[j,i] := MReal[i,j];

         V.Execute('peaks');

         MReal  := VarArrayCreate([0, 1, 0, 3], varDouble);
         MImage := VarArrayCreate([0,0,0,0], varDouble);

         for i := 0 to 1 do
          for j := 0 to 3 do
           MReal[i,j] := i+4;

          V.PutFullmatrix('b','base',VarArrayRef(MReal),VararrayRef(MImage));

        end

 

发信人: hyphone (每天爱你多一些), 信区: MathTools      
标  题: Re: 请问在delphi中怎样调用matlab的Activex服务
发信站: BBS 水木清华站 (Sat Jun  1 13:34:48 2002)

//C++Builder中是这样:
Variant Matlab;
...
  Matlab=CreateOleObject("Matlab.Application");
  Matlab.Exec(Procedure("help"));
Matlab=Unassigned;
//Delphi中应该是这样
Matlab:Variant;
....
Matlab := CreateOleObject('Matlab.Application');
Matlab.Execute('help');
Matlab := Unassigned;

【 在 chengpp (ly) 的大作中提到: 】
: 我想在delphi编的应用程序中,
: 调用matlab的ActiveX的服务,
: 就是调用matlab的绘图功能
: 应该怎么做那?
: 请教各位高手

》》》》》》》》》》》》》》》》》

在Delphi中调用matlab的例子

var
        V : Variant;
        MReal : OleVariant;
        MImage : OleVariant;
begin
        i,j : integer;
        MReal := VarArrayCreate([0, 1, 0, 3], varDouble);
        MImage := VarArrayCreate([0,0,0,0], varDouble);
        V := CreateOLEObject('Matlab.Application');
        V.Execute('a=[1 2 3 4; 5 6 7 8]');
        V.GetFullMatrix('a','base',VarArrayRef(MReal),VararrayRef(MImage));
        for i := 0 to 1 do
        for j := 0 to 3 do
        Stringgrid1.Cells[j,i] := MReal[i,j];
        V.Execute('peaks');
        MReal := VarArrayCreate([0, 1, 0, 3], varDouble);
        MImage := VarArrayCreate([0,0,0,0], varDouble);
        for i := 0 to 1 do
        for j := 0 to 3 do
        MReal[i,j] := i+4;
        V.PutFullmatrix('b','base',VarArrayRef(MReal),VararrayRef(MImage));
end 



 

点评:这都不是我想象中最好的方法,最好的还是com


http://www.niftyadmin.cn/n/1374349.html

相关文章

C++动态时间显示

C动态时间显示 #include <iostream> #include<stdlib.h> #include<windows.h> #include<string> using namespace std; int main() {string week " ";while (1){SYSTEMTIME systemTime;GetLocalTime(&systemTime);cout << "…

最多不相交的区间

1.16 给定区间个数n,然后给定n个区间&#xff0c;求出尽可能多的不相交的区间。 #include <stdio.h> #include <algorithm>using namespace std;struct point{int x,y; }s[max]; bool cmp(point a,point b){//先按右端点&#xff0c;从小到大排序if(a.y!b.y) ret…

美数学爱好者发现已知最大素数

美数学爱好者发现已知最大素数 共七百万位 -------------------------------------------------------------------------------- http://www.sina.com.cn 2004年06月02日 10:48 新华网   新华网伦敦6月1日电 (记者 曹丽君) 美国一位数学爱好者近日发现了已知最大的素数。…

对主流技术的分析和总结

BBS 水木清华站 - 软件开发 - CPlusPlus版(进版画面 | 添加到收藏夹 ) CPlusPlus(C程序设计语言) 版 版主 poplay1 Cray ilovecpp 在线 8 人 文摘区 | 精华区 | 版内查询 令狐冲精华区搜索引擎 搜索范围 全站 CPlusPlus版 精华区文章阅读 发信人: flypen (找工作:…

英语基本语法

转自这里传送门 1. 名词   名词可以分为专有名词&#xff08;Proper Nouns&#xff09;和普通名词 (Common Nouns&#xff09;&#xff0c;专有名词是某个&#xff08;些&#xff09;人&#xff0c;地方&#xff0c;机构等专有的名称&#xff0c;如Beijing&#xff0c;Chi…

C语言:计算程序运行时间

使用Linux系统调用 该调用获取从1970年1月1号到现在经过的时间和时区(UTC时间), 可以参考Linux手册(精度最高) #include <stdio.h> #include <sys/time.h>int main(int argc, char *argv[]){struct timeval start_time, end_time;double timeuse;gettimeofday(&a…

Delphi下的COM编程技术简介

组件对象模型(Component Object Model&#xff0c;以下简称COM)是组件对象之间相互接口的规范&#xff0c;凡是遵循COM接口规范的对象彼此之间能相互通信和交互&#xff0c;即使这些对象是由不同的厂商、用不同的语言、在不同的Windows版本甚至不同的机器上编写和建立的。Delph…

ATM自动取款机程序感想

上周四的Java考试&#xff0c;老师并没有我们考暑假给我们布置的样卷的java程序&#xff0c;而是让我们做一个设计ATM的程序&#xff0c;然而这个对于我们来说好难&#xff0c;因为暑假没有学好java&#xff0c;首先基础知识还没有掌握&#xff0c;输入数据一开始都出现了问题&…