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

Werte einlesen und in Datei speichern, Problem mit Format

 

morisq
Forum-Century

Forum-Century


Beiträge: 140
Anmeldedatum: 24.06.11
Wohnort: ---
Version: R2010a
     Beitrag Verfasst am: 22.09.2011, 07:08     Titel: Werte einlesen und in Datei speichern, Problem mit Format
  Antworten mit Zitat      
Guten Morgen Zusammen,

ich habe ein GUi geschrieben das über ein Excel Referenzfile werte einliest und ins GUI übernimmt. Anschließend sollen vor der Rechnung die Werte in ein ASCII File geschrieben werden. Das funktioniert auch alles wunderbar bis auf die Tatsache das ich das format nicht ändern kann. mein Code für die Funktion des schreibens in die ASCII Datei sieht so aus:

Code:
% --- Executes on button press in pushbutton6_ASCII_File_erzeugen.
function pushbutton6_ASCII_File_erzeugen_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton6_ASCII_File_erzeugen (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
clc;
fd =   fopen('ASCII_File.asc','wt');
ergline = ' **************************************************';
fprintf(fd,'%s \n %5.1f',ergline);
ergline = '********************* Stator *********************';
fprintf(fd,'%s \n %5.1f',ergline);
ergline = '**************************************************';
fprintf(fd,'%s\n %5.1f',ergline);
ergline = 'Nutzahl';
fprintf(fd,'%s \t\t\t\t\t\t\t',ergline,handles.edit16_Qs);
fprintf(fd,'%s \n %5.1f',[]);
ergline = 'Außendurchmesser';
fprintf(fd,'%s \t\t\t\t\t',ergline,handles.edit17_dse);
fprintf(fd,'%s \n %5.1f',[]);
ergline = 'Eisenlänge';
fprintf(fd,'%s \t\t\t\t\t\t',ergline,handles.edit18_lft);
fprintf(fd,'%s \n %5.1f',[]);
fclose(fd);

guidata(hObject, handles);
 


Ändere ich nun das Format spuckt er mir nur wirres Zeug aus.
Ich habe es schon mit:
Code:
fprintf(fd,'%3.2f \t\t\t\t\t\t\t',ergline,handles.edit16_Qs);

versucht aber da kommt nur Müll raus.
Hat Jemand eine Idee oder einen Tipp wie ich mein Problem lösen kann?
Es sollen Werte als ganze Zahlen angezeigt werden und nicht in exponentialdarstellung.

Anfügen sollte ich vielleicht noch den Teil wo die Werte eingelesen werden:
Code:
% --- Executes on button press in pushbutton3_Lade_Referenz.
function pushbutton3_Lade_Referenz_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton3_Lade_Referenz (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)


[Dateiname, Dateipfad]=uigetfile('*.xls','Referenztabelle Motordaten auswählen');

Filename_ReferenzdatenXLS = fullfile(Dateipfad,Dateiname);

set(handles.edit50_Referenz_Excel, 'String', Filename_ReferenzdatenXLS);

[Qs, dse, lfe, bds1, bds2, bs1, hs1, hys, kfe, ...                                                  % Stator
    Qr, mano, form_mt, dr, dri, dri2, hm, bm, msp, hst, blr, bst, bst2, bkr, Br, skew, nrp, ...     % Rotor
    lsp, klsp, ...                                                                                  % Luftspalt
    mesh, ...                                                                                       % Mesh - Luftspalt
    nphase, nlayer, phconn, W, kz, Anz2a, kcu, rphase, ...                                          % windings
    phim, VKW, drehz, Ieff, Ukl_0, ...                                                              % FEM - Rechnung
    AnzPole, AnzNuten, Imax] ...                                                                    % Nebenrechnung
    = EingabeMotordaten(Filename_ReferenzdatenXLS);


% --- Stator --------------------------------------------------------------

set(handles.edit16_Qs, 'String', Qs);
set(handles.edit17_dse, 'String', dse);
set(handles.edit18_lft, 'String', lfe);
set(handles.edit19_bds1, 'String', bds1);
set(handles.edit20_bds2, 'String', bds2);
set(handles.edit21_bs1, 'String', bs1);
set(handles.edit22_hs1, 'String', hs1);
set(handles.edit23_hys, 'String', hys);
set(handles.edit40_kfe, 'String', kfe);

% -- Übergabe-handles Stator -- Referenzdaten Laden

handles.edit16_Qs=Qs;
handles.edit17_dse=dse;
handles.edit18_lft=lfe;
handles.edit19_bds1=bds1;
handles.edit20_bds2=bds2;
handles.edit21_bs1=bs1;
handles.edit22_hs1=hs1;
handles.edit23_hys=hys;
handles.edit40_kfe=kfe;
 


Dankeschön
Private Nachricht senden Benutzer-Profile anzeigen


morisq
Themenstarter

Forum-Century

Forum-Century


Beiträge: 140
Anmeldedatum: 24.06.11
Wohnort: ---
Version: R2010a
     Beitrag Verfasst am: 22.09.2011, 08:31     Titel:
  Antworten mit Zitat      
Habe das Problem nun folgendermaßen selbst gelöst:

Die Werte liegen im Speicher als Variablen vor, ich rufe in meienr Ausgabe aber strings auf. Also vorher heinfach [Variablexy]=num2str(handles.......) und dann diese ausgeben und das hat funktioniert.
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 - 2025 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.