WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Ich möchte eine öffnenfunktion

 

Marianne Flora

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.11.2008, 08:27     Titel: Ich möchte eine öffnenfunktion
  Antworten mit Zitat      
Hallo,
ich hab folgendes Problem.
Ich möchte eine Laden funktion.
Der Anstatz ist eigentlich super: http://www.gomatlab.de/speichern-mit-uiputfile-t4021.html aber, das .mat File ist Binär.
Gibt es eine Möglichkeit AsciiDateien zu laden?

Wie die Innen aufgebaut sind ist mir eigentlich mehr oder weniger egal.
da kann von mir aus drinnestehen:
x=5;
spacing=[0 1 2; 0 0 0; 0 1 0]

also im Prinzip Matlabcode...

Es geht darum: Das Tool das ich schreibe soll mal Compilert hier in der Abteilung auf allen Rechnern laufen. Projekte sollen Gespeichert und Geladen werden können. Da werd ich das von Timo Beil verwenden.
Aber ich brauche zusätzlich eine Improtfunktion, welche Dateien in Ascii öffnen und dann Matrizten zum Weiterrechechnen definieren kann...

Ich hoffe das war halbwegs verständlich Smile))

Danke


Marianne Flora

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.11.2008, 09:04     Titel:
  Antworten mit Zitat      
Hab nochmal n bisschen gespielt
Code:
x=[5 4 3;2 5 4;3 2 5]
y=[1 2 3;4 5 6;7 8 9; 10 11 12]
save(savefile, 'x','y','-ASCII')


erstellt folgendes file:
Zitat:
5.0000000e+000 4.0000000e+000 3.0000000e+000
2.0000000e+000 5.0000000e+000 4.0000000e+000
3.0000000e+000 2.0000000e+000 5.0000000e+000
1.0000000e+000 2.0000000e+000 3.0000000e+000
4.0000000e+000 5.0000000e+000 6.0000000e+000
7.0000000e+000 8.0000000e+000 9.0000000e+000
1.0000000e+001 1.1000000e+001 1.2000000e+001


Da weiss ja nacher wenn ich nur das asciifile hab welche werte in welche Variable kommen Sad

Wer kann mir helfen?
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 19.11.2008, 18:00     Titel:
  Antworten mit Zitat      
Moin,

irgendwie verstehe ich dein Problem nicht ganz. Du willst eine Funktion zum Laden von Dateien und schreibst in deiner Ergänzung im 2. Post etwas von "save()" - Widerspricht sich das nicht?!

Kannst du bitte nochmal versuchen das Problem von vorne bis hinten zu beschreiben? Quasi: Was hast du, was willst du und wie willst du es? Wink

Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Marianne Flora

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.11.2008, 07:47     Titel:
  Antworten mit Zitat      
Hallo @,
na klar, ich werde es versuchen Smile
Also,
mein Programm an dem ich grad sitze soll etwas berechnen können.
Nun ist es so dass was mein Programm so autometisiert erstellt nicht immer aureicht.
Was ich jetzt brauche, ist eine Funktion, die mir Variablen mitsamt werte Ausliest und damit weiterechnen kann.

Ich Stelle mir das so irgendwie vor:
Der Benutzer klickt auf import. Wählt dort sein vorher selbst mit dem Editor geschriebenes Asciifile aus. Da stehen dann dinge drin wie
radius=5
hf=1.24*10^9
elements=17.3
matrix=[5 4 2; 2 5 4; 2 1 1]
...

Diese soll er dann nehmen und in die Handlesstruct setzen.
also:
handles.radius=5
handles.hf=1.24*10^9
handles.elements=17.3
handles.matrix=[5 4 2; 2 5 4; 2 1 1]
...

Es werden mehrere Matritzen verwendet, welche in der größe alle Variabel sind.

Was fest sein darf, ist die Stelle(Zeile) an der die Werte stehen müssen.

Ich hoffe es ist so verständlich. Smile
Das Problem ist einfach, dass auf 90% der Rechner hier kein Matlab installiert ist und alle das Tool an dem ich grade sitzen brauchen werden. Der Tool soll mit mcc Compilliert werden so dass jeder hier die Ausführbare exe +die Runtimes bekommt. Das ist der Grund, warum keine *.mat files gehen (die sind Binär und keiner kann sie von Hand (ohne Matlab) bearbeiten Sad )

Danke schonmal für euere Hilfe Smile
 
Marianne Flora

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.11.2008, 10:21     Titel:
  Antworten mit Zitat      
So hab noch n bisschen gesucht.
Hab hier: http://www.gomatlab.de/txt-datei-ei.....780,highlight,import.html
dasda gefunden:
Code:
fid=fopen(.....txt)
Zeile1 = fgets(fid);
Zeile2 = fgets(fid);
.
.
.


Das Problem ist nur, dass der Inhalt in Chararrays abgelegt wird.
Liese sich das irgendwie in normale matrizen wandeln?

Also hab ich jetzt den richtigen Inhalt in der richtigen Variable nur im falschen Format...

Danke schonmal
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 20.11.2008, 10:49     Titel:
  Antworten mit Zitat      
Hallo,
du kannst entweder so wandeln
Code:

A=(sscanf(Zeile1,'%f'))'
 


oder so

Code:
Private Nachricht senden Benutzer-Profile anzeigen
 
siegi
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 14.02.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.11.2008, 19:39     Titel:
  Antworten mit Zitat      
Hier ne lösungsmöglihckeit:

Textdatei:

radius=5
hf=1.24*10^9
elements=17.3
matrix=[5 4 2; 2 5 4; 2 1 1]


Code:

fid = fopen('Dateipfad');
Zeile = fgets(fid);
eval(['handles.',Zeile]);


Damit kannst du in einer Schleife eine beliebig lange Liste von Variablen einlesen, vorausgesetzt du definierst dir ein EOF (EndOfFile) bei dem du die schleife dann auch wieder verlässt.

Hoffe das wars was du gesucht hast

grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.