当前位置:网站首页 > MATLAB编程 > 正文

aardio + MATLAB 编程快速入门_matlab软件编程

一、aardio 调用 MATLAB 任意函数。

//导入库
import com.matlab; 

//创建 MATLAB 应用
var m = com.matlab(true); 

//调用 MATLAB 任意函数,例如 strcat
var r =  m.strcat("hello",",world" )

m. 后面可以输入任意 MATLAB 函数名。

如果第一个参数是数值,则用于指定返回值的个数,例如:

import com.matlab;  
var m = com.matlab(true); 

//调用 MATLAB 函数,有 3 个返回值
var d,f,e = m.fileparts(3,"c:\aardio\matlab.m" );

二、在 aardio 中读写 MATLAB 工作区变量。

MATLAB 的『工作区』有点像其他语言的变量『命名空间』或者『模块』,用于隔离变量作用域。

除了函数有独立的匿名工作区以外,还有 base 与 global 工作区。global 是全局变量工作区,而 base 基础工作区用于存储命令语句创建的变量。

aardio 读写 MATLAB 变量示例:

import com.matlab;  
var m = com.matlab(true); 

//读写 base 工作区的变量
m.base.varname = "测试字符串,base 工作区。";

//读写 globa 工作区的变量
m.global.varname = "global 工作区"; 

//批量写入变量到工作区
m.base.assign({
    var1 = 1;
    var2 = 2;
    var3 = 3;
})

三、在 aardio 中执行 MATLAB 命令。

在 aardio 中执行 MATLAB 命令:

import com.matlab;  
var m = com.matlab(true); 

//执行绘图命令
m.exec("plot(1:10)"); 

也可以用 code 属性赋值并执行命令,支持用模板语句嵌入 aardio 代码或 aardio 对象,示例:

import com.matlab;  
var m = com.matlab(true); 

//执行命令
m.code = /*
var5 = <?
    //在 MATLAB 代码中直接写 aardio 代码。
    ={ 1,2,3 }
?>
*/

在 <? 与 ?> 标记中的是 aardio 代码。

<?
    //在 MATLAB 代码中直接写 aardio 代码。
    ={ 1,2,3 }
?>

上面的等号后写的就是 aardio 表达式,这个很简单,可以看看 aardio 语法文档。

四、进阶用法

可以在 aardio 下标中直接计算 MATLAB 表达式,示例:

import com.matlab;  
var m = com.matlab(true); 

//解析下标中的 MATLAB 表达式。
var data = m[`{'one'; 'two'; 'three'}`] 

在 aardio 中读写 MATLAB 矩阵:

import console.int;
import com.matlab;  

var m = com.matlab(true); 
 
//写入矩阵到 base 工作区
m.base.putMatrix("B"
    , { {1,2}, {3,4} }
    , { {1,0}, {0,2} }
);

//自 base 工作区读取矩阵 
var realPart,imagPart =   m.base.getMatrix("B");
 
//回显结果
console.dumpJson(realPart );
console.dumpJson(imagPart );

五、在 aardio 窗口显示 MATLAB 绘图。

完整示例:

import win.ui;
/*DSG{{*/
var winform = win.form(text="aardio 窗口显示 MATLAB 绘图";right=759;bottom=469;border="dialog frame";max=false;min=false)
winform.add(
button={cls="button";text="点这里调用 MATLAB 绘图";left=472;top=414;right=680;bottom=456;z=2};
plus={cls="plus";left=18;top=15;right=739;bottom=397;bgcolor=16777215;z=1}
)
/*}}*/

import com.matlab; 
var m = com.matlab(true); 

winform.button.oncommand = function(id,event){
     
    //设置绘图变量 
    m.base.assign({
        filename = ..io.fullpath('/m.png');
        amplitude = 1; 
        frequency = 1; 
        phase = 0; 
    });
    
    m.code = /****** 
    x = linspace(0, 2*pi, 100);  
    y = amplitude * sin(frequency * x + phase); 
    figure('Visible', 'off'); 
    
    plot(x, y, 'LineWidth', 2);
    title('Sine Wave');
    xlabel('X Axis');
    ylabel('Y Axis');
    grid on;
    
    set(gcf, 'Color', 'w');
    saveas(gcf, filename);
    close(gcf);
    ******/
    
     winform.plus.background = string.load("/m.png");
}

winform.show();
win.loopMessage();

运行效果:

六、在 MATLAB 中调用 aardio 创建的 ActiveX 控件。

MATLAB 代码:

% MATLAB 创建 COM 对象
sample = actxserver('aardioTestControl.Sample');

% 调用Add方法
num = sample.Invoke("Add",1,3)

% 显示结果
disp(num);

% 设置属性
sample.SetAttr("key", 'value2')

% 读取属性
sample.GetAttr("key")

% 设置属性
set(sample, 'key', 'value'); 

% 读取属性
value = get(sample, 'key');

目前 aardio 已经支持以各种形式调用 C语言、C++、C#、Go 语言、Python、Rust、JavaScript、Node.js、Java、Delphi、Fortran、Julia、R、PHP、VBA、JSA、VB、VBScript、FreeBasic、Ruby、PHP、Nim、V 、PowerShell、批处理、汇编等编程语言或这些语言编写的组件。

当然,能做什么不是必须做什么。

大部分 aardio 程序​还都是以纯 aardio 代码编写的。

版权声明


相关文章:

  • 从入门到高级:探索Matlab编程的魅力2024-10-30 13:29:05
  • matlab绘图教程_matlab绘图功能怎么用2024-10-30 13:29:05
  • matlab小白入门_学好matlab需要啥基础2024-10-30 13:29:05
  • matlab编程入门教程_matlab哪个专业要学2024-10-30 13:29:05
  • 简单的matlab有趣的绘图代码_matlab画图怎么画2024-10-30 13:29:05
  • matlab快速入门教程_matlab入门之旅2024-10-30 13:29:05
  • matlab的简单绘图命令_常用的绘图工具包括2024-10-30 13:29:05
  • matlab高效编程技巧与应用_编程语言matlab2024-10-30 13:29:05
  • matlab编程怎么样_MATLAB怎么编程2024-10-30 13:29:05
  • matlab产生并画出信号_如何画函数图像2024-10-30 13:29:05
  • 全屏图片