gpt4 book ai didi

excel - 从 Matlab 修改 Excel 工作表

转载 作者:太空宇宙 更新时间:2023-11-03 19:27:36 25 4
gpt4 key购买 nike

是否可以从 matlab 在 excel 中打开工作表并编辑公式?这个想法是通过创建第二张表来自动化不确定性分析,其中每个单元格中的不确定性来自前一个单元格的值。本质上,我想将单元格视为变量并对每个单元格执行 SQRT(SUM(Partials(xi)^2)) 。 matlab calc 应该没有问题,但是可以在sheet中编辑公式吗?

目前的流程是从excel复制粘贴到matlab。这是一个小函数,它在 matlab 中针对方程组计算不确定性:

function [f_u_total f_u] = uncertAnalysis(f, vars, vars_u)
f_u = [];
f_u_total = [];
for(i=1:length(f))
f(i)
item = uncertAnalysisi(f(i), vars, vars_u);
f_u = [f_u; item(1)];
f_u_total = [f_u_total; item(1)];
end
end


function [f_u_total f_u] = uncertAnalysisi(f, vars, vars_u)
f_u = [];
% take the partials and square them
for i=1:length(vars)
f_u = [f_u; vars(i) (diff(f, vars(i)).*vars_u(i)).^2];
end
% calculate the RSS
f_u_total = (sum(f_u(:,2))).^.5;
end

顺便说一句,方程式看起来像这样(为什么我不手动这样做):

=(9*C!S3^2/C!V3^4*C!W3*(C!O3-
C!P3)/C!X3*C!Q3^6*C!F3^4/C!Y3^6/(C!U3^C!Z3)^6*F3^2+1/4*C!S3^2/C!V3^4*C!W3/(C!O3-
C!P3)/C!X3*C!Q3^6*C!F3^6/C!Y3^6/(C!U3^C!Z3)^6*O3^2+1/4*C!S3^2/C!V3^4*C!W3/(C!O3-
C!P3)/C!X3*C!Q3^6*C!F3^6/C!Y3^6/(C!U3^C!Z3)^6*P3^2+9*C!S3^2/C!V3^4*C!W3*(C!O3-
C!P3)/C!X3*C!Q3^4*C!F3^6/C!Y3^6/(C!U3^C!Z3)^6*Q3^2+1/C!V3^4*C!W3*(C!O3-
C!P3)/C!X3*C!Q3^6*C!F3^6/C!Y3^6/(C!U3^C!Z3)^6*S3^2+9*C!S3^2/C!V3^4*C!W3*(C!O3-
C!P3)/C!X3*C!Q3^6*C!F3^6/C!Y3^6/(C!U3^C!Z3)^6*C!Z3^2/C!U3^2*U3^2+4*C!S3^2/C!V3^6*C!W3*(C!O
3-C!P3)/C!X3*C!Q3^6*C!F3^6/C!Y3^6/(C!U3^C!Z3)^6*V3^2+1/4*C!S3^2/C!V3^4/C!W3*(C!O3-
C!P3)/C!X3*C!Q3^6*C!F3^6/C!Y3^6/(C!U3^C!Z3)^6*W3^2+1/4*C!S3^2/C!V3^4*C!W3*(C!O3-
C!P3)/C!X3^3*C!Q3^6*C!F3^6/C!Y3^6/(C!U3^C!Z3)^6*X3^2+9*C!S3^2/C!V3^4*C!W3*(C!O3-
C!P3)/C!X3*C!Q3^6*C!F3^6/C!Y3^8/(C!U3^C!Z3)^6*Y3^2+9*C!S3^2/C!V3^4*C!W3*(C!O3-
C!P3)/C!X3*C!Q3^6*C!F3^6/C!Y3^6/(C!U3^C!Z3)^6*LOG(C!U3)^2*Z3^2)^(1/2)

最佳答案

您应该能够通过 COM/ActiveX/Automation 来完成。看External Interfaces文档;有一个关于如何通过 Excel 的自动化接口(interface)访问 Excel 文档的示例。

我几乎没有以这种方式操作 Excel 的经验,但我知道您可以通过自动化在 Excel 中做任何事情,并且编辑单元格公式听起来并不难。

编辑:我找不到对 Excel 对象模型的引用,但这是另一个示例:http://support.microsoft.com/kb/301982

关于excel - 从 Matlab 修改 Excel 工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/579006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com