主要内容

返回多个输出参数MATLAB函数

这个例子展示了如何执行一个MATLAB®返回多个输出参数的函数微软®Excel®使用一个Microsoft ExcelVBA宏。宏从MATLAB工作空间写入多个输出参数Microsoft Excel细胞。

要使用电子表格链接™Excel中的VBA代码,您必须启用电子表格链接作为参考微软Visual Basic®编辑器。有关详细信息,请参见安装

这个例子计算矩阵的奇异值分解使用圣言会

Microsoft Excel从A1到C3的单元格,创建一个数据范围。在单元格A1到A3中输入数字1到3。在单元格B1到B3中输入数字4到6。在单元格C1到C3中输入数字7到9。

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

创建一个Microsoft ExcelVBA宏的名字applysvd.创建宏的详细操作请参见“Excel帮助”。

Public Sub applysvd() MLOpen MLPutMatrix "x", Range("A1:C3") MLEvalString ("[u,s,v] = svd(x);") MLGetMatrix "u", "A5" MLGetMatrix "s", "A9" MLGetMatrix "v", "A13" MatlabRequest MLClose End Sub

宏:

  1. MATLAB开始。

  2. 通过C3单元格范围将A1中的数据发送到MATLAB工作区,并将其赋给MATLAB变量x

  3. 运行圣言会输入参数x和输出参数u年代,v

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

  5. 关闭MATLAB。

运行applysvd.MATLAB运行圣言会并用来自三个输出参数的数据填充指定的单元格。

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

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

另请参阅

|||||

相关的话题