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

mat2xls problem :(

 

shersei
Forum-Anfänger

Forum-Anfänger


Beiträge: 20
Anmeldedatum: 28.07.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.08.2010, 16:34     Titel: mat2xls problem :(
  Antworten mit Zitat      
hi leute hab folgenden programmm geschrieben
und würde gern verbesserungs vorschläge hören
wie ich es mache dass mat2xls automatisch in die nächste spalte springt ?
zurzeit hab ich ein array
b={'B','C'......'BZ'}
darauf kreife ich jedes mal zu wenn der zaehler um 1 addiert wird


am bessten ihr lässt das programm bei euch einmal drüber laufen Smile


wenn ich viele werte habe also bei CA ankomme
bekomme ich natürlicherweise ein fehler angezeigt

was kann man da machen ???
Code:

clearall; clc;
daten=input('Dateiname:','s');
fid=fopen(sprintf('%s ',daten),'rt');
header=fgetl(fid); % Erst nur die Header holen
signalnamen = strread(header, '%s', 'delimiter', ' \t');
laenge=length(signalnamen);
data=textscan(fid,['%*s %*s'repmat(' %f',1,laenge) ' ']); % Datum und Zeit ignorieren,  Spalten mit Zahlen holen
fclose(fid);
header=regexp(header,'\t','split'); % Header an den Tabs trennen
header(cellfun(@isempty,header)) = []; % Leere Header (1. Spalte) entfernen
lines=numel(data{1});
Stunde=(lines/60);
Std_ab=floor(Stunde);
disp(header);%Signale anzeigen
e = mat2xls;
b={'B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','AA','AB','AC','AD','AE','AF','AG','AH','AI','AJ','AK','AL','AM','AN','AO','AP','AQ','AR','AS','AT','AU','AV','AW','AX','AY','AZ','BA','BB','BC','BD','BE','BF','BG','BH','BI','BJ','BK','BL','BM','BN','BO','BP','BQ','BR','BS','BT','BU','BV','BW','BX','BY','BZ'};
zaehler_2=0;
% at location "A1" (top left corner)
e.data({'Maximalwerte'}, ...
'Maximal-Mittelwerttabelle','A1', ...
'BackgroundColor',[0.85 0.86 .75], ...
'ForegroundColor',[1 1 1], ...
'MultipleLine','on', ...
'BorderStyle','-', ...
'Height',20, ...
'Width',25, ...
'HorizontalAlignment','center', ...
'VerticalAlignment','middle')


Signalauswahl=input('Dateinummer fürs 1.Signal:','s');%signal auswählen {1,signalnummer}
laengeSignaleauswahl=strread(Signalauswahl, '%s', 'delimiter', ' ');
Signal2auswahl=input('Dateinummer fürs 2.Signal:','s');%signal auswählen {1,signalnummer}
laengeSignal2auswahl=strread(Signal2auswahl, '%s', 'delimiter', ' ');
disp(['Maxminale Stunde:',num2str(Std_ab)]);
Stdanfag=input('Stdanfang:');
Stdende=input('Stdende:');
for i_1=1:1:length(laengeSignaleauswahl)
for i_2=1:1:length(laengeSignal2auswahl), zaehler_2=zaehler_2+1;
    i=str2double(laengeSignaleauswahl(i_1));
   i_3=str2double(laengeSignal2auswahl(i_2));
Data=data{1,i};
Data2=data{1,i_3};
A=reshape(Data((1:Std_ab*60),1),60,Std_ab);
B=reshape(Data2((1:Std_ab*60),1),60,Std_ab);


e.visible('on');
summetau=zeros(1,1);
summe=zeros(1,1);
 zaehler_1=0;

forStd_zaehler=Stdanfag:1:Stdende, zaehler_1=zaehler_1+1;
Signal1=A(:,Std_zaehler);
Signal2=B(:,Std_zaehler);
Signal1=((Signal1) - (min(Signal1)))/(max(Signal1) - min(Signal1));%normieren der Signale
Signal2 =((Signal2) - (min(Signal2)))/(max(Signal2) - min(Signal2));%normieren der  Signale
korr = xcorr(Signal1,Signal2,'coeff');            
xmax = (length(korr)-1)/2;                  
ymax = 1.2*max([Signal1 Signal2 -Signal1 -Signal2]);
[ykorrmax, yindexmax] = max(korr);
y1 = max(korr);
figure(1);                                  
subplot(3,1,1);
plot(0:length(Signal2)-1, Signal2);
title(sprintf('kreuzkorrelation von %s&%s',header{i},header{i_3})); grid;
subplot(3,1,2);
plot(0:length(Signal1)-1, Signal1);
title(sprintf(' %s(oben) und %s  (unten)',header{i_3},header{i})); grid;
subplot(3,1,3);
n = -xmax:xmax;
plot(n, korr);
title(['Korrelation mit Maximum bei \tau =  ' num2str(yindexmax-1-xmax)  ' \cdotTS  ', ' und  y = ' ,num2str(max(korr)) ]); grid; % \tau wird berechnet & und angezeigt
xlabel(' \tau ');
tau= num2str(yindexmax-1-xmax);
%Stunde
e.data({sprintf('Stund %s',num2str(Std_zaehler))}, ...
'Maximal-Mittelwerttabelle',(sprintf('%s1',b{Std_zaehler+zaehler_1-1})), ...
'BackgroundColor',[0 0.89 1], ...
'ForegroundColor',[1 1 1], ...
'MultipleLine','off', ...
'BorderStyle','-', ...
'Height',20,...
'HorizontalAlignment','center', ...
'VerticalAlignment','middle')
%tau
e.data({sprintf('Tau %s',num2str(Std_zaehler))}, ...
'Maximal-Mittelwerttabelle',(sprintf('%s1',b{Std_zaehler+zaehler_1})), ...
'BackgroundColor',[0.79 0.8 1], ...
'ForegroundColor',[1 1 1], ...
'MultipleLine','off', ...
'BorderStyle','-', ...
'Height',20,...
'HorizontalAlignment','center', ...
'VerticalAlignment','middle')

ifisnan(y1); y1=0; end;  





e.data({sprintf('%s&%s',header{i},header{i_3})}, ...
'Maximal-Mittelwerttabelle',(sprintf('A%s',num2str((zaehler_2+1)))), ...
'BackgroundColor',[0 0 0], ...
'ForegroundColor',[1 0 0], ...
'MultipleLine','off', ...
'BorderStyle','-', ...
'Height',20,...
'Width',25, ...
'HorizontalAlignment','center', ...
'VerticalAlignment','middle')



% place data in excel at location
e.data(y1, ...
'Maximal-Mittelwerttabelle',(sprintf('%s%s',b{ Std_zaehler+zaehler_1-1},num2str(zaehler_2+1))),...
'ForegroundColor',[0 0 1], ...
'BackgroundColor',[0.9922    0.9176    0.7], ...
'BorderStyle','=', ...
'Width',10,...
'BorderColor',[0 0 0])

if y1==0;tau=num2str(o);end;
%TAU
e.data({sprintf('%s',tau)}, ...
'Maximal-Mittelwerttabelle',(sprintf('%s%s',b{ Std_zaehler+zaehler_1},num2str(zaehler_2+1))),...
'BackgroundColor',[0.79 0.8 1], ...
'ForegroundColor',[1 1 1], ...
'BorderStyle','=', ...
'Width',10,...
'BorderColor',[0 0 0])

summe(zaehler_2,zaehler_1)=y1;
summetau(zaehler_2,zaehler_1)=str2double(tau);

mittel=mean(summe(zaehler_2,:));
mitteltau=mean(summetau(zaehler_2,:));  
ifStd_zaehler==Stdende

e.data({'Signale'}, ...
'Maximal-Mittelwerttabelle',(sprintf('%s1', b{Stdende+zaehler_1+2})), ...
'BackgroundColor',[0 0 0], ...
'ForegroundColor',[1 0 0], ...
'MultipleLine','off', ...
'BorderStyle','-', ...
'Height',20,...
'Width',25, ...
'HorizontalAlignment','center', ...
'VerticalAlignment','middle')

e.data({sprintf('%s&%s',header{i},header{i_3})}, ...
'Maximal-Mittelwerttabelle',(sprintf('%s%s',b{Stdende+zaehler_1+2},num2str(zaehler_2+1))), ...
'BackgroundColor',[0 0 0], ...
'ForegroundColor',[1 0 0], ...
'MultipleLine','off', ...
'BorderStyle','-', ...
'Height',20,...
'Width',25, ...
'HorizontalAlignment','center', ...
'VerticalAlignment','middle')

e.data({'Mittelwert von den Maxw.:'}, ...
'Maximal-Mittelwerttabelle',(sprintf('%s1', b{Stdende+zaehler_1+3})), ...
'BackgroundColor',[0 0 0], ...
'ForegroundColor',[1 0 0], ...
'MultipleLine','off', ...
'BorderStyle','-', ...
'Height',20,...
'Width',25, ...
'HorizontalAlignment','center', ...
'VerticalAlignment','middle')

e.data({'Mittelwert von Tau:'}, ...
'Maximal-Mittelwerttabelle',(sprintf('%s1', b{Stdende+zaehler_1+4})), ...
'BackgroundColor',[0 0 0], ...
'ForegroundColor',[1 0 0], ...
'MultipleLine','off', ...
'BorderStyle','-', ...
'Height',20,...
'Width',25, ...
'HorizontalAlignment','center', ...
'VerticalAlignment','middle')


e.data(mittel, ...
'Maximal-Mittelwerttabelle',(sprintf('%s%s', b{Stdende+zaehler_1+3},num2str(zaehler_2+1))),...
'ForegroundColor',[0 0 0], ...
'BackgroundColor',[1    1   1], ...
'BorderStyle','=', ...
'Height',20,...
'Width',25,...
'BorderColor',[0 0 0])

e.data(mitteltau, ...
'Maximal-Mittelwerttabelle',(sprintf('%s%s', b{Stdende+zaehler_1+4},num2str(zaehler_2+1))),...
'ForegroundColor',[0 0 0], ...
'BackgroundColor',[1    1   1], ...
'BorderStyle','=', ...
'Height',20,...
'Width',25,...
'BorderColor',[0 0 0])

end;
end;
end;
end;

% speichern=input('Speichern unter :','s');

%   e.save(['.\',speichern]);
%    close all;  





 


test_pr.txt
 Beschreibung:

Download
 Dateiname:  test_pr.txt
 Dateigröße:  234.51 KB
 Heruntergeladen:  374 mal
Private Nachricht senden Benutzer-Profile anzeigen


Napoleon
Forum-Anfänger

Forum-Anfänger


Beiträge: 41
Anmeldedatum: 22.07.10
Wohnort: Heidelberg
Version: ---
     Beitrag Verfasst am: 03.08.2010, 16:42     Titel:
  Antworten mit Zitat      
wie wäre es wenn du ab und zu mal daran denkst ein feedback zu geben obs geklappt hat, statt neue fragen zu stellen.
dass die user hier auch wissen dass es sich gelohnt hat den kopf zu zerbrechen.

wenn ich mir deine beiträge anschaue, ist es nicht das erste mal. sondern das 3.mal von 3 mal.
_________________

Die Hartnäckigen gewinnen die Schlachten.
Private Nachricht senden Benutzer-Profile anzeigen
 
shersei
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 20
Anmeldedatum: 28.07.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.08.2010, 16:47     Titel:
  Antworten mit Zitat      
ja sry Embarassed
Private Nachricht senden Benutzer-Profile anzeigen
 
shersei
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 20
Anmeldedatum: 28.07.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.08.2010, 17:02     Titel:
  Antworten mit Zitat      
@Napoleon

ich hoffe du hilfst mir diesmal wieder Wink
Private Nachricht senden Benutzer-Profile anzeigen
 
Napoleon
Forum-Anfänger

Forum-Anfänger


Beiträge: 41
Anmeldedatum: 22.07.10
Wohnort: Heidelberg
Version: ---
     Beitrag Verfasst am: 03.08.2010, 17:09     Titel:
  Antworten mit Zitat      
diesmal glaube ich nicht Confused (mir fehlen noch paar sterne Wink)

viel erfolg
_________________

Die Hartnäckigen gewinnen die Schlachten.
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 03.08.2010, 17:09     Titel:
  Antworten mit Zitat      
Am Besten direkt den Autor fragen, der spricht auch deutsch
Private Nachricht senden Benutzer-Profile anzeigen
 
shersei
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 20
Anmeldedatum: 28.07.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.08.2010, 17:11     Titel:
  Antworten mit Zitat      
hast seine mail adresse ?
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 03.08.2010, 17:47     Titel:
  Antworten mit Zitat      
Das kannst du hier finden:
http://www.mathworks.com/matlabcentral/fileexchange/authors/4137
Private Nachricht senden Benutzer-Profile anzeigen
 
shersei
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 20
Anmeldedatum: 28.07.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.08.2010, 09:25     Titel:
  Antworten mit Zitat      
ja danke schön
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.