Just nu i M3-nätverket
Gå till innehåll
Camilla.L

Matlab - anropar python

Rekommendera Poster

Camilla.L

Hej jag har ett kommando i matlab:

 

dos(sprintf('bbn000txt_fel323.py %s' notefile_user))

 

Till detta får jag felmedelandet:

 

??? Error: File: T:\cli\matlab\m-filer\plot_fel323.m Line: 5 Column: 38

")" expected, "identifier" found.

 

Är det någon som förstår felmedelandet får ni gärna höra av er.

 

 

Tack på förhand!

mvh Camilla

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Johan A.

Hur menar du egentligen. Du vill inte köra ett python skript utan du vill "skriva" ett i Matlab? Varför har du då dos(...)?

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Camilla.L

Jag har skrivit en m-file i matlab, som har till uppgift att anropa ett python-program som öppnar en fil plockar ut ett antal värden ur en txt fil och skriver dem i den txt fil vars namn jag anger i dos-anropet. Sedan ska m-filen öppna txt som python skrivit till och läsa av dem värderna och plotta i en graf efter några exkvationer.

 

//Camilla

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Johan A.

Ok, nu var det visserligen ett tag sedan jag gjorde något seriöst i Matlab, menom jag förstår:

dos(sprintf('bbn000txt_fel323.py %s' notefile_user))

rätt så anropar du dos och säger att du där vill köra sprintf för att skriva ut texten

bbn000txt_fel323.py notefile_user

Vi,lket inte känns riktigt som det du vill.

Borde väl för övrigt vara:

dos(sprintf('bbn000txt_fel323.py %s', notefile_user))

Istället borde det väl vara något i stil med

fidx = fopen('bbn000txt_fel323.py','w+');

fprintf(fidx,notefile_user);

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Camilla.L

Tack, fick kommandot: dos(sprintf('bbn000txt_fel323.py %s', notefile_user)) att fungera, men det fel jag då får blev i python:

 

 

plot_fel323

 

notefile_user =

 

bbn000txt_fel323_user.txt

 

sys:1: DeprecationWarning: Non-ASCII character '\xe4' in file T:\cli\matlab\m-filer\bbn000txt_fel323.py on line 12, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

Traceback (most recent call last):

File "T:\cli\matlab\m-filer\bbn000txt_fel323.py", line 87, in ?

filename_normal, filename_user = get_filename()

ValueError: too many values to unpack

Warning: Insufficient space to draw legend.

> In C:\MATLAB6p5\toolbox\matlab\graph2d\legend.m (getposition) at line 1393

In C:\MATLAB6p5\toolbox\matlab\graph2d\legend.m (make_legend) at line 629

In C:\MATLAB6p5\toolbox\matlab\graph2d\legend.m at line 400

In T:\cli\matlab\m-filer\plot_fel323.m at line 36

 

Är det någon som veet hur mycket python klarar av att packa upp??

 

//camilla

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Camilla.L

Den sista frågan har jag lyckas lösa!!

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×
×
  • Skapa nytt...