Ändern Sie eine Excel-Tabelle aus Matlab

Ist es möglich, öffnen Sie ein Arbeitsblatt in excel von matlab Bearbeiten und die Formeln? Die Idee ist es, die Automatisierung von Unsicherheit-Analyse durch erstellen einer zweiten Platte mit der Unsicherheit, die in jeder Zelle für den Wert aus der vorherigen Zelle. Im wesentlichen, ich möchte die Behandlung der Zellen als Variablen und tun SQRT(SUM(Teiltöne(xi)^2)) für jede Zelle. Matlab sollte es kein problem mit der calc, aber können es Bearbeiten, die Formeln in den Blättern?

Den Prozess derzeit ist das kopieren und einfügen aus excel in matlab. Hier ist eine kleine Funktion, welche die Unsicherheit in matlab vor, die auf array 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

Nebenbei, sehen die Gleichungen so etwas (warum ich es nicht mache das von hand):

=(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 habe zu Fragen, warum Sie die Verwendung von Excel für diese überhaupt? Es ist nicht wirklich vorgesehen für wissenschaftliche Daten-Analyse wie diese. Sie könnten besser exportieren die Daten in text-Dateien, den Import in MATLAB, Berechnung der Ergebnisse, anschließend speichern als text importieren und wieder in Excel.
  • David, es ist der "standard" in unserem Labor (mechanical engineering lab). Ich Stimme zu, und halten die Dinge gern rein in matlab, wenn ich kann. Ich muss aber sagen, excel hat auch seine Vorzüge. Zum Beispiel das Blatt "programmiert", während Sie Daten liefert, die für ein paar nette Echtzeit-Berechnungen/Visualisierungen.
InformationsquelleAutor ccook | 2009-02-23
Schreibe einen Kommentar