主要内容

返回多个输出参数马铃薯功能

此示例显示如何执行MATLAB®返回多个输出参数的函数微软®excel.®用一个微软Excel.VBA宏。宏将MATLAB工作区写入多个输出参数微软Excel.细胞。

使用电子表格链接™与VBA代码一起使用,您必须使电子表格链接作为参考Microsoft Visual Basic®编辑。有关详细信息,请参阅安装

此示例使用矩阵的奇异值分解使用SVD.

在里面微软Excel.来自A1到C3的细胞,创建一系列数据。在单元格A1到A3中输入从1到3的数字。在单元格B1到B3中输入从4到6的数字。在单元格C1至C3中输入从7到9的数字。

工作表包含单元格A1至C3中的数字1到9

创建一个微软Excel.VBA宏命名applysvd.。有关创建宏的详细信息,请参阅Excel帮助。

公共子applysvd()mlopen mlputmatrix“x”,范围(“a1:c3”)mlevalstring(“[u,s,v] = svd(x);”)mlgetmatrix“u”,“a5”mlgetmatrix“s”,“A9”MLGETMATRIX“V”,“A13”MATLABREQUEST MLCLOSE结束子

宏:

  1. 开始matlab。

  2. 将A1到C3单元格范围中的数据发送到MATLAB工作区,并将其分配给MATLAB变量X

  3. SVD.使用输入参数X和输出参数S., 和V.

  4. 单独检索一个输出参数的数据,以特定的微软Excel.单元格同时考虑每个输出数据矩阵的大小,以避免覆盖数据。对于第一个输出参数,宏检索输出参数的数据进入细胞A5。

  5. 关闭matlab。

跑步applysvd.。Matlab跑步SVD.并使用来自三个输出参数的数据填充指定的单元格。

工作表包含单元格A1至C3中的数字1到9。单元格A5到C7包含来自U输出参数的结果。单元格A9到C11包含来自S输出参数的结果。单元格A13至C15包含V输出参数的结果。

有关运行宏的详细信息,请参阅Excel帮助。

也可以看看

|||||

相关话题