Có thể mở một trang tính trong excel từ MATLAB và chỉnh sửa các công thức không? Ý tưởng là để tự động hóa một phân tích không chắc chắn bằng cách tạo ra một trang tính thứ hai với sự không chắc chắn trong mỗi ô cho giá trị từ ô trước đó. Về cơ bản, tôi muốn xử lý các ô như các biến và thực hiện SQRT (SUM (Partials (xi)^2)) cho mỗi ô. Matlab nên không có vấn đề với calc, nhưng nó có thể chỉnh sửa các công thức trong tờ?Sửa đổi một trang tính Excel từ Matlab
Quy trình hiện tại là sao chép và dán từ excel sang MATLAB. Dưới đây là một chức năng nhỏ mà không được sự không chắc chắn trong matlab chống lại trên hàng loạt các phương trình:
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
Là một sang một bên, phương trình giống như thế này (tại sao tôi không làm điều này bằng tay):
=(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)
tôi phải tự hỏi, tại sao bạn đang sử dụng Excel cho điều này ở tất cả? Nó không thực sự dành cho phân tích dữ liệu khoa học như thế này. Bạn có thể tốt hơn khi xuất dữ liệu ra tệp văn bản, nhập vào MATLAB, tính toán kết quả của bạn, sau đó lưu dưới dạng văn bản và nhập lại vào Excel. –
David, đó là 'tiêu chuẩn' trong phòng thí nghiệm của chúng tôi (phòng thí nghiệm kỹ thuật cơ khí). Tôi đồng ý, và muốn giữ mọi thứ hoàn toàn trong MATLAB nếu tôi có thể. Tôi phải nói mặc dù, excel không có giá trị của nó. Ví dụ: có trang 'được lập trình' trong khi bạn lấy dữ liệu cung cấp cho một số tính toán/trực quan hóa thời gian thực tốt đẹp. – ccook