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

Fehler nach Auslagerung in extrige m-Datei

 

Unrealmirakulix
Forum-Anfänger

Forum-Anfänger


Beiträge: 44
Anmeldedatum: 11.11.12
Wohnort: ---
Version: 2015a
     Beitrag Verfasst am: 05.06.2013, 20:11     Titel: Fehler nach Auslagerung in extrige m-Datei
  Antworten mit Zitat      
Habe, um mein main file etwas übersichtlicher zu machen, etwas umgebaut. Plötzlich mag Matlab aber nicht mehr.

Hintergrund / Thematik (nicht unbedingt wichtig hier): http://www.gomatlab.de/viewtopic,p,115432.html

main file:

Code:
%% (TODO: Import data from mat files)

% mat import not yet ready -> do Excel import...
mat_import = 0;

%% I) Wahrnehmung / Empfindung verschieden hoher Pegel

if mat_import == 0
    % import n-data from Excel
    T1 = xlsread(xlsx_path,'Tabelle N','B2:Z5');
end

if mat_import == 0
    % import ci-data from Excel
    T2 = xlsread(xlsx_path,'Tabelle CI','B2:Z5');
end

%% put in N-data and CI-data: variant #1 (lines)

compare_lines(50:10:80, T1, T2, 'line', 'Wahrnehmung Empfindung verschieden hoher Pegel - N vs CI - lines')

%% put in N-data and CI-data: variant #2 (bars)

compare_lines(50:10:80, T1, T2, 'bar', 'Wahrnehmung Empfindung verschieden hoher Pegel - N vs CI - bars')
 


Funktion in anderem m-file (gleicher Ordner):

Code:
% plot functions for 'Auswertung.m': stored here to turn 'Auswertung.m'
% into a shorter and thus clearer code file.
% p = sound level in dB
% T1 = imported n-data from Excel
% T2 = imported ci-data from Excel
% v = 'bar' (default); v = 'line' (plots bars and fixes styles therefore)
% head = name of the plot
% e.g.: compare_lines(50:10:80, T1, T2, 0, 'Titel of the plot')
% Attention: don't forget to import data into T1 and T2, put them in
% indirectly, 'cause they'll be normally to big to write down here Wink

function compare_lines(p, T1, T2, v, head)

% calculate mean values (mean value of each row when ignoring NaN values)
T1_m = nanmean(T1,2);
T2_m = nanmean(T2,2);

% label for x-axis
xaxis = 'dargebotener Pegel in dB';

figure;

subplot(221)
plot(p, T1, '-k')
title('Wahrnehmung Probanden [N]')
xlabel(xaxis)
axis([45 85 0 50])                  % xmin xmax ymin ymax
set(gca, 'Xtick', 50:10:80);        % only show 50:10:80 on y-axis
grid off

subplot(222)
if strcmp(v, 'bar') == 1
    hold on
    bar(p', T1_m, 'y')
    errorbar(p', T1_m, nanstd(T1,1,2), 'r', 'Linewidth',1)
    hold off
else if strcmp(v, 'line') == 1
    errorbar(p', T1_m, nanstd(T1,1,2), '-ro')
    end
end
title('Durchschnittliche Wahrnehmung [N]')
xlabel(xaxis)
axis([45 85 0 50])                  % xmin xmax ymin ymax
set(gca, 'Xtick', 50:10:80);        % only show 50:10:80 on y-axis
grid off

subplot(223)
plot(p, T2, '-k')
title('Wahrnehmung Probanden [CI]')
xlabel(xaxis)
axis([45 85 0 50])                  % xmin xmax ymin ymax
set(gca, 'Xtick', 50:10:80);        % only show 50:10:80 on y-axis
grid off

subplot(224)
if strcmp(v, 'bar') == 1
    hold on
    bar(p', T2_m, 'y')
    errorbar(p', T2_m, nanstd(T2,1,2), 'r', 'Linewidth',1)
    hold off
else if strcmp(v, 'line') == 1
    errorbar(p', T2_m, nanstd(T2,1,2), '-b*')
    end
end
title('Durchschnittliche Wahrnehmung [CI]')
xlabel(xaxis)
axis([45 85 0 50])                  % xmin xmax ymin ymax
set(gca, 'Xtick', 50:10:80);      % only show 50:10:80 on y-axis
grid off

% main title
axes('Position',[0 0 1 1],'Xlim',[0 1],'Ylim',[0 1],'Box','off','Visible','off','Units','normalized', 'clipping' , 'off')
text(0.5, 1,['\bf ' head],'HorizontalAlignment','center','VerticalAlignment', 'top')

% save image
saveas(gcf,[head '.png'])

end


Wie gesagt, wirklich was verändert habe ich nicht nur das if ... else ... in der 2. und 4. subfigure ist neu, da sich zwei Vorgehensweisen nur hier unterscheiden, was über die vorletzte Variable festgelegt wird.

Hier die Fehler:

Zitat:
>> Auswertung
Error using name (line 104)
Cannot create output file '.\Wahrnehmung Empfindung verschieden hoher Pegel - N vs CI -
lines.png'

Error in print (line 206)
pj = name( pj );

Error in saveas (line 154)
print( h, name, ['-d' dev{i}] )

Error in compare_lines (line 76)
saveas(gcf,[head '.png'])

Error in Auswertung (line 30)
compare_lines(50:10:80, T1, T2, 'line', 'Wahrnehmung Empfindung verschieden hoher Pegel - N vs
CI - lines')


Wenn es noch Fragen gibt, gerne schreiben Wink

Vielen dank schon mal Smile
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 05.06.2013, 20:32     Titel:
  Antworten mit Zitat      
Hallo,

kann es sein, dass das .png geöffnet war oder beispielsweise aus anderen Gründen in dem Verzeichnis kein Schreibzugriff möglich war?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Unrealmirakulix
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 44
Anmeldedatum: 11.11.12
Wohnort: ---
Version: 2015a
     Beitrag Verfasst am: 05.06.2013, 20:36     Titel:
  Antworten mit Zitat      
daran hatte ich auch erst gedacht, aber nein kann da nichts finden.

Mach gleich mal einen Neustart. Melde mich falls sich dadurch etwas geändert hat Wink

Aber hatte die Idee schon wieder vergessen/verworfen, danke Smile

edit: Nach dem Neustart gleiches Problem. Habe direkt nur Matlab gestartet und ausgeführt Sad
Private Nachricht senden Benutzer-Profile anzeigen
 
Unrealmirakulix
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 44
Anmeldedatum: 11.11.12
Wohnort: ---
Version: 2015a
     Beitrag Verfasst am: 05.06.2013, 23:40     Titel:
  Antworten mit Zitat      
Hier die Werte für T1 und T2, falls jemand den Code testen mag. Wink

Code:

T1 =

    15   NaN    15    15    25    15    20    25    17    25
    22   NaN    25    18    28    24    27    38    24    28
    30   NaN    35    22    38    27    33    40    31    31
    40   NaN    45    36    50    31    42    50    40    39


Code:

T2 =

    15    15    11     0    13     7    10
    20    25    14    20    25    17    20
    25    35    18    30    30    22    35
    30    45    25    40    43    19    47
Private Nachricht senden Benutzer-Profile anzeigen
 
Unrealmirakulix
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 44
Anmeldedatum: 11.11.12
Wohnort: ---
Version: 2015a
     Beitrag Verfasst am: 06.06.2013, 14:09     Titel:
  Antworten mit Zitat      
Wie ich nach einigem Suchen herausgefunden habe, wird es wohl mit den Rechten unter Win7x64 zusammenhängen, aber ich habe in dem Verzeichnis die Datei schließlich schon erstellt und da ging es (bevor ich meine spezial-Plot-Funktion ausgelagert habe)

Was kann das sein?

Gefunden: Gott ist das peinlich... Der Pfad von matlab hatte sich auf C:\Windows\system32 umgestellt...

Embarassed
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.