返回来自的多个输出参数MATLAB函数
这个例子展示了如何执行MATLAB®中返回多个输出参数的函数微软®Excel®使用一个Microsoft ExcelVBA宏。宏将多个输出参数从MATLAB工作空间写入到Microsoft Excel细胞。
要在Excel中使用电子表格链接™处理VBA代码,必须在Microsoft Visual Basic®编辑器。有关详情,请参阅安装。
这个例子计算一个矩阵的奇异值分解圣言会
。
在Microsoft Excel从A1到C3的单元格,创建一个数据范围。在单元格A1到A3中输入从1到3的数字。在单元格B1到B3中输入数字4到6。在单元格C1到C3中输入从7到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
宏:
MATLAB开始。
将A1通过C3单元格范围中的数据发送到MATLAB工作空间,并将其分配给MATLAB变量
x
。运行
圣言会
输入参数x
输出参数u
,年代
,v
。单独地将一个输出参数的数据检索到特定的Microsoft Excel单元格,同时考虑每个输出数据矩阵的大小,以避免覆盖数据。对于第一个输出参数,宏检索输出参数的数据
u
进入A5细胞。关闭MATLAB。
运行applysvd
。MATLAB运行圣言会
并用来自三个输出参数的数据填充指定的单元格。
有关运行宏的详细信息,请参见Excel帮助。
另请参阅
圣言会
|MLOpen
|MLGetMatrix
|MLPutMatrix
|MLEvalString
|MLClose