Datenexport nach Excel < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Hallo,
habe ein Problem mit dem Excel Export. Ich möchte in einem Loop mein Ergebnis jeweils eine Zelle weiter rechts ausgeben lassen.
Sprich: 1. Ergebnis in Zelle A1, 2. Ergebnis in Zelle A2 usw...
Habe schon einige Varianten probiert, aber nix funktioniert. Habe es mit Range probiert etc.
Zur Info den bisherigen Code:
for n = 0:100
k=2.2;
h=0.00;
e=2.718281828459;
r=-0.5+0.01*n
f=@(x) ((sinh(k*x+h))-(2*x).*(cosh(k*x+h)))./(((cosh(k*x+h))-(2*x).*(sinh(k*x+h)))./186);
y=quad(f,-0.5,r);
z=(e^(2*y))./(((cosh(k*r+h))-(2*r).*(sinh(k*r+h)))./186)
xlswrite ('testzwei.xlsx',z,'A1:ZZ1')
end
So wird das Ergebnis halt mit jedem neuen Durchlauf wieder überschrieben. Bin für jede Anregung dankbar!
Besten Gruß,
Bernhard
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 21:13 Fr 12.06.2009 | Autor: | abakus |
> Hallo,
> habe ein Problem mit dem Excel Export. Ich möchte in einem
> Loop mein Ergebnis jeweils eine Zelle weiter rechts
> ausgeben lassen.
> Sprich: 1. Ergebnis in Zelle A1, 2. Ergebnis in Zelle A2
> usw...
> Habe schon einige Varianten probiert, aber nix
> funktioniert. Habe es mit Range probiert etc.
>
> Zur Info den bisherigen Code:
>
> for n = 0:100
> k=2.2;
> h=0.00;
> e=2.718281828459;
> r=-0.5+0.01*n
> f=@(x)
> ((sinh(k*x+h))-(2*x).*(cosh(k*x+h)))./(((cosh(k*x+h))-(2*x).*(sinh(k*x+h)))./186);
> y=quad(f,-0.5,r);
> z=(e^(2*y))./(((cosh(k*r+h))-(2*r).*(sinh(k*r+h)))./186)
> xlswrite ('testzwei.xlsx',z,'A1:ZZ1')
> end
>
> So wird das Ergebnis halt mit jedem neuen Durchlauf wieder
> überschrieben. Bin für jede Anregung dankbar!
Hallo,
kannst du es nicht einfach in eine txt-Datei mit Komma als Trennzeichen schreiben?
Damit ersparst du dir die Zellenadressierung.
Sowas lässt sich dann als kommaseparierte Datei in Excel einlesen.
Gruß Abakus
>
>
> Besten Gruß,
> Bernhard
>
> Ich habe diese Frage in keinem Forum auf anderen
> Internetseiten gestellt.
|
|
|
|
|
Hallo,
vielen Dank erstmal für die schnelle Antwort! Leider klappt es nicht ohne weiteres mit der Textdatei. Habe einfach die Dateiendung ind .txt (.doc hab ich auch probiert) geändert und die Zellenadressierung entfernt, aber die generierte Textdatei enthält irgendwelche unverständlichen Hieroglyphen ....
Was mache ich falsch?
Schönen Gruß,
Bernhard
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 10:23 Mo 15.06.2009 | Autor: | Frasier |
Hallo Bernhard,
es ist sicher besser, die Ergebnisse erst in z zu sammeln und dann auf einmal in die Datei zu schreiben.
1: | for n = 0:100
| 2: | k=2.2;
| 3: | h=0.00;
| 4: | e=2.718281828459;
| 5: | r=-0.5+0.01*n;
| 6: | f=@(x) ((sinh(k*x+h))-(2*x).*(cosh(k*x+h)))./(((cosh(k*x+h))-(2*x).*(sinh(k*x+h)))./186);
| 7: | y=quad(f,-0.5,r);
| 8: | z(n+1)=(e^(2*y))./(((cosh(k*r+h))-(2*r).*(sinh(k*r+h)))./186);
| 9: | end
| 10: | xlswrite('testzwei.xlsx',z); |
Klappt das?
lg
F.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 10:27 Mo 15.06.2009 | Autor: | Frasier |
Nachtrag:
[mm] e^x [/mm] kannst du schreiben als exp(x)
|
|
|
|
|
Hallo Frasier,
das klappt wunderbar! Vielen Dank!
Gruß, Bernhard
|
|
|
|