Ist es möglich, ein Arbeitsblatt in Excel von Matlab zu öffnen und die Formeln zu bearbeiten? Die Idee besteht darin, eine Unsicherheitsanalyse zu automatisieren, indem ein zweites Blatt mit der Unsicherheit in jeder Zelle für den Wert aus der vorherigen Zelle erstellt wird. Im Wesentlichen möchte ich die Zellen als Variablen behandeln und SQRT (SUM (Partials (xi)^2)) für jede Zelle tun. Matlab sollte kein Problem mit dem Calc haben, aber kann es die Formeln in Blättern bearbeiten?Ändern Sie eine Excel-Tabelle von Matlab
Der Prozess ist derzeit Kopieren und Einfügen von Excel zu Matlab. Hier ist eine kleine Funktion, die die Unsicherheit in Matlab tut gegen auf Anordnung von Gleichungen:
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
Als beiseite, sehen die Gleichungen so etwas wie diese (warum ich das nicht von Hand zu tun):
=(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)
ich fragen, warum Sie sich für diese überhaupt Excel verwenden? Es ist nicht wirklich für eine solche wissenschaftliche Datenanalyse gedacht. Sie können die Daten besser in Textdateien exportieren, in MATLAB importieren, Ihre Ergebnisse berechnen und dann als Text speichern und wieder in Excel importieren. –
David, es ist der 'Standard' in unserem Labor (Maschinenbau Labor). Ich stimme dem zu und halte die Dinge gerne rein in Matlab, wenn ich kann. Ich muss jedoch sagen, Excel hat seine Vorzüge. Wenn Sie zum Beispiel das Blatt "programmieren" lassen, während Sie Daten aufnehmen, können Sie einige schöne Echtzeit-Berechnungen/Visualisierungen durchführen. – ccook