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

Not a binary MAT-file

 

Format C
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 15.12.18
Wohnort: ---
Version: RB2018b
     Beitrag Verfasst am: 19.12.2018, 11:54     Titel: Not a binary MAT-file
  Antworten mit Zitat      
Code:
% das ist mein Programm

%% Problem Definition

data=load('data.mat');



Meldung: Not a binary MAT-file. Try load -ASCII to read
as text.

Error in sa (line 7)
data=load('data.mat');


Ich finde mein Problem nicht.
Muss ich die DAtei umwandeln?

Ich danke euch
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 19.12.2018, 12:02     Titel:
  Antworten mit Zitat      
Hallo,

hänge die Datei doch bitte an.
Als erstes würde ich den Vorschlag versuchen, den die Fehlermeldung macht.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Format C
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 15.12.18
Wohnort: ---
Version: RB2018b
     Beitrag Verfasst am: 19.12.2018, 13:12     Titel:
  Antworten mit Zitat      
Danke dir für die schnelle Rückmeldung.

TourLength.m
 Beschreibung:

Download
 Dateiname:  TourLength.m
 Dateigröße:  193 Bytes
 Heruntergeladen:  305 mal
sa.m
 Beschreibung:

Download
 Dateiname:  sa.m
 Dateigröße:  1.83 KB
 Heruntergeladen:  304 mal
data.mat
 Beschreibung:

Download
 Dateiname:  data.mat
 Dateigröße:  427 Bytes
 Heruntergeladen:  322 mal
CreateNeighbor.m
 Beschreibung:

Download
 Dateiname:  CreateNeighbor.m
 Dateigröße:  770 Bytes
 Heruntergeladen:  304 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 19.12.2018, 14:13     Titel:
  Antworten mit Zitat      
Hallo,

der Inhalt dieser .mat-Datei ist ein Skript zum Laden von Daten. So ein Skript sollte als .m gespeichert und dann als Skript aufgerufen werden.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 19.12.2018, 15:42     Titel: Re: Not a binary MAT-file
  Antworten mit Zitat      
Hallo Format C,

Wie Harald schon sagte, enthält das .mat File eine Matlab Funktion, sollte also mit der Endung .m abgespeichert werden. Es wurde automatisch von Matlab generiert. Warum dabei eine falsche Datei.Endung verwendet wurde, ist nicht klar.

Die Funktion schreibt übrigens den Inhalt eines MAT-Files als Variablen in den Base-Workspace. Das ist ausgesprochen ungeschickt. Wenn irgendein File die Variable "edit" enthält, wird danach der edit Befehl im CommandWindow nicht mehr funktionieren. Das Automatische Erzeugen von Variablen vor assignin ist deshalb immer wieder eine Quelle von Bugs.
Besser:
Code:
Data = load(FileName);

Nun kann man die Variablen direkt als Felder des Structs "Data" verwenden, ohne dass irgendwo etwas automatisch in den Workspace geschrieben wird.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Format C
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 15.12.18
Wohnort: ---
Version: RB2018b
     Beitrag Verfasst am: 20.12.2018, 15:52     Titel:
  Antworten mit Zitat      
Harald und Jan, ich möchte mich vorab bei euch beiden bedanken.
Ich bin neu in der Programmierwelt und verstehe super viele noch nicht.
Es ist nicht selbstverständlich, dass ihr hier so aktiv seid - großes Ding von der Community.

Bisher habe ich versucht die Datei in .m umzuwandeln und dann mit

load(filename);

die Datei einzulesen. Das hat nicht funktioniert.
Ich verstehe nicht warum, aber ich werde mich da noch tiefer einlesen müssen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 20.12.2018, 16:38     Titel:
  Antworten mit Zitat      
Hallo,

weil load eben für .mat-Dateien und nicht für Skripte gedacht ist. Möglichkeiten zum Aufruf von Skripten:
https://www.dummies.com/programming.....d-call-scripts-in-matlab/
Die für dich interessante Möglichkeit ist wohl
"Type the script filename in another script"

Generell empfehlenswert für Anfänger: MATLAB Onramp.
https://www.mathworks.com/learn/tutorials/matlab-onramp.html

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Format C
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 15.12.18
Wohnort: ---
Version: RB2018b
     Beitrag Verfasst am: 02.01.2019, 17:29     Titel:
  Antworten mit Zitat      
Hallo und frohes neues Jahr,

ich habe es nicht hinbekommen - auch nicht mit Hilfe.
Werde das Programm aufgeben.
Danke euch nochmal Smile

Lieben Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 03.01.2019, 12:29     Titel:
  Antworten mit Zitat      
Hallo,

bei .m-Dateien brauchst du wirklich nur
Code:

im Command Window oder in einem Skript einzugeben.

Ich fürchte, leichter wird es in anderen Programmen auch nicht sein...

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 03.01.2019, 16:57     Titel:
  Antworten mit Zitat      
Hallo,

anbei die umbenannte Datei (das war deine data.mat).

Da es eine Funktion ist (hatte ich vergessen und nicht nochmal nachgelesen), musst du den Namen der tatsächlich einzulesenden .mat-Datei noch angeben, also z.B.
Code:
importMyFile('mydata.mat')


Grüße,
Harald

importMyFile.m
 Beschreibung:

Download
 Dateiname:  importMyFile.m
 Dateigröße:  429 Bytes
 Heruntergeladen:  302 mal

_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Format C
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 15.12.18
Wohnort: ---
Version: RB2018b
     Beitrag Verfasst am: 06.01.2019, 18:10     Titel:
  Antworten mit Zitat      
"Error in sa (line 7)" in der SA.m Datei.
Egal wie ich es eingebe :/

Ich versuche wirklich viel und will mich hier nicht ständig bei euch melden, aber es klappt einfach nicht.
Ich bin neu, aber ich gebe mir wirklich viel Mühe. Matlab-Documentation hilft mit den Beispielen sehr, aber in diesem Fall kann ich es nicht umsetzen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 06.01.2019, 22:04     Titel:
  Antworten mit Zitat      
Hallo,

bitte die vollständige Fehlermeldung posten. Der eigentlich interessante Teil fehlt nämlich. Bitte auch posten, was aktuell in Zeile 7 der Datei steht - das kann man ja nicht ahnen.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Format C
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 15.12.18
Wohnort: ---
Version: RB2018b
     Beitrag Verfasst am: 07.01.2019, 15:16     Titel:
  Antworten mit Zitat      
Hallo,

ich habe laut dedr Documentation die folgende Syntax gefunden:

"A = importdata(filename)"



Code:

data = importdata(data.m);

data = importdata(data.mat);

data = importMyFile(data.m);

data = importMyFile(importMyFile.m);

data = importMyFile(data.mat);
 



Beispiel Fehler:

Error in sa (line 7)
data=importdata(data.mat);

Der Aufruf "load" funktioniert auch nicht.
Ich finde meinen Fehler einfach nicht.

Harald, ich danke dir bisher vielmals für dein offenes Ohr Smile

Lieben Gruß
Martin
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 07.01.2019, 16:22     Titel:
  Antworten mit Zitat      
Hallo,

du musst den Namen deiner Datei verwenden. Wenn du die von mir hochgeladene importMyFile.m verwenden willst, dann musst du auch diesen Namen (ohne .m) im Aufruf angeben.

Zudem musst du wie in meinem Beitrag von 03.01.2019, 15:57 um den Namen der Datei einfache Hochkomma ' setzen. Der Name muss der Name der .mat-Datendatei sein, die du laden möchtest.

Zitat:
Beispiel Fehler:
Error in sa (line 7)
data=importdata(data.mat);

Das ist immer noch unvollständig.

Zitat:
Der Aufruf "load" funktioniert auch nicht.

Auch hier bitte die vollständige Fehlermeldung posten.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Format C
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 15.12.18
Wohnort: ---
Version: RB2018b
     Beitrag Verfasst am: 07.01.2019, 16:55     Titel:
  Antworten mit Zitat      
Harald, du bist super schnell - DANKE!

1.

Code:

%% Problem Definition

data=importdata('data');

D=data.D;


Fehlermeldung:

Error using importdata (line 228)
Unable to load file.
Use TEXTSCAN or FREAD for more complex formats.


Error in sa (line 7)
data=importdata('data');

Caused by:
Error using fread
Invalid file identifier. Use fopen to generate a valid file identifier.

2.

Code:
data=fopen('data');

D=data.D;


Fehlermeldung:
Dot indexing is not supported for variables of this type.

Error in sa (line 9)
D=data.D;

3.

Code:
ta=fread('data');

D=data.D;


Fehlermeldung:
Error using fread
Invalid file identifier. Use fopen to generate a valid file identifier.

Error in sa (line 7)
data=fread('data');

4.

Code:
data=textscan('data');

D=data.D;


Fehlermeldung:
Error using textscan
Not enough input arguments.

Error in sa (line 7)
data=textscan('data');


Ich bin einfach noch nicht gut genug
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2  Weiter

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.