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

Ausgleichsgerade wird nicht geplottet

 

Harald
Forum-Meister

Forum-Meister


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

so wie ich dir bereits geschrieben hatte:
Code:
V_A_short{k} = V_A{k}(1:10:end)


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


ME83
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 33
Anmeldedatum: 05.01.20
Wohnort: Stuttgart
Version: ---
     Beitrag Verfasst am: 21.09.2020, 22:33     Titel:
  Antworten mit Zitat      
Und so gibt es mir die Variable j11 gar nicht zurück:

Code:
k11=1;
for i11=1:10:V_A{k1}
    j11(k11,1)=V_A{k1}(i11);
    k11=k11+1;
end


Verstehe nicht wie du das mit
V_A{k}(1:10:end)
meinst einzubauen
Private Nachricht senden Benutzer-Profile anzeigen
 
ME83
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 33
Anmeldedatum: 05.01.20
Wohnort: Stuttgart
Version: ---
     Beitrag Verfasst am: 21.09.2020, 22:38     Titel:
  Antworten mit Zitat      
Betrachte den vorherigen Beitrag bitte als unnötig.
Hat geklappt:)

Code:
%V_A
num1 = {'035', '003', '040'};
xlRange1 = {'AJ4:AJ49108', 'AJ4:AJ58290', 'AJ4:AJ52990'};
for k1 = 1:numel(num1)
   fname = ['FKFS_IBN NOX_PEAKS_20190402_1_4_MAIN_', num1{k1}, '_IFILE'];
   V_A{k1}=xlsread(fname,'TM',xlRange1{k1});
   V_A_short{k1} = V_A{k1}(1:10:end);
end


Danke dir
Private Nachricht senden Benutzer-Profile anzeigen
 
ME83
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 33
Anmeldedatum: 05.01.20
Wohnort: Stuttgart
Version: ---
     Beitrag Verfasst am: 21.09.2020, 22:57     Titel:
  Antworten mit Zitat      
Wenn ich nun in dieser Schleife die Werte von v{k4}, welche 0 sind, auf 1 setzen möchte, habe ich das so versucht:

Code:
%v
num4 = {'035','003','040'};
xlRange4 = {'EB4:EB4914', 'EB4:EB5832', 'EB4:EB5302'};
for k4 = 1:numel(num4)
 fname4 = ['FKFS_IBN NOX_PEAKS_20190402_1_4_MAIN_', num4{k4}, '_ctf'];
   v{k4}=xlsread(fname4,'Vehicle and Engine',xlRange4{k4});
   v_01{k4}(v==0) = 1;
end


Ein Vorschlag wie das hier eingefügt werden kann?
Es gibt mir leider nicht den Wert v_01 aus
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: 21.09.2020, 23:17     Titel:
  Antworten mit Zitat      
Hallo,

du musst wirklich "nur" konsequent mit den erzeugten Variablen weiterarbeiten. Ich hatte dir ja schon mal geschrieben
Code:
v ( v == 0 ) = 1;


Jetzt übernimmt v{k4} die Rolle von v, also musst du das auch genau so ersetzen.
Code:
v{k4}( v{k4} == 0 ) = 1;


Ich kann wirklich nur empfehlen, mal von Grund auf ein Verständnis für MATLAB aufzubauen. Dann stellen sich solche Fragen gar nicht mehr.

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
 
ME83
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 33
Anmeldedatum: 05.01.20
Wohnort: Stuttgart
Version: ---
     Beitrag Verfasst am: 22.09.2020, 08:34     Titel:
  Antworten mit Zitat      
Hallo Harald,
ich bin noch nicht sehr vertraut mit der Syntax.
Deswegen habe ich noch eine Frage

Wenn V_A_short{k1} als 1x3 cell Matrix vorliegt und ich nun jeden dieser Werte mit dem Faktor (10^-6) beaufschlagen möchte, dachte ich das ich das so hinbekomme:

Code:
Faktor1 = [(10^-6) 0 0];
Faktor2 = [3600 0 0];
V_A_ppm = (((V_A_short{k1}) .* Faktor1 .* Faktor2));


V_A_ppm ist nun eine 1x3 cell Matrix, aber nur die dritte Spalte ist mit mit 5299x3 double befüllt.
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: 22.09.2020, 08:52     Titel:
  Antworten mit Zitat      
Hallo,

meine Empfehlung wäre eben, sich systematisch mit der Syntax vertraut zu machen, z.B. mit dem MATLAB Onramp und den weiterführenden Angeboten.

Mir ist nicht klar, warum du Faktor1 und Faktor2 als Vektoren definierst. Sinnvoll wäre z.B.
Code:
Faktor1 = (10^-6); % oder 1e-6
Faktor2 = 3600;
for k1 = 1:numel(V_A_short)
V_A_ppm{k1} = V_A_short{k1} .* Faktor1 .* Faktor2;
end


Wenn Faktor1 und Faktor2 jeweils unterschiedlich sein sollen, dann tatsächlich als Vektoren definieren und
Code:
for k1 = 1:numel(V_A_short)
     V_A_ppm{k1} = V_A_short{k1} .* Faktor1{k1} .* Faktor2{k1};
end


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
 
ME83
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 33
Anmeldedatum: 05.01.20
Wohnort: Stuttgart
Version: ---
     Beitrag Verfasst am: 22.09.2020, 09:23     Titel:
  Antworten mit Zitat      
V_A_NOx{k1} und v{k4} haben die gleiche Größe.
Wenn ich die beiden miteinander dividieen möchte

Code:
for k1 = 1:numel(V_A_NOx)
M_NOx{k1} = ((V_A_NOx{k1}) ./ (v{k4}));
end


sagt es mir das die Dimension der Matrix nicht übereinstimmt.
Beide Matrizen sind aber gleich groß

Meinem Verständnis nach ist es ja dann egal ob ich {k1} oder {k4} als Zählbedingung nehme
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: 22.09.2020, 10:30     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
sagt es mir das die Dimension der Matrix nicht übereinstimmt.
Beide Matrizen sind aber gleich groß

Ich verwende MATLAB seit über 20 Jahren. Wenn MATLAB gesagt hat, dass die Dimensionen nicht übereinstimmen, dann war das auch immer so. Ich würde also stark vermuten, dass die Dimensionen eben nicht übereinstimmen.

Zitat:
Meinem Verständnis nach ist es ja dann egal ob ich {k1} oder {k4} als Zählbedingung nehme

Nein, ist es nicht. k1 wird in der Schleife hochgezählt, k4 bleibt über die Schleifeniterationen hinweg konstant.
Versuche es doch mal mit v{k1}.

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
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite Zurück  1, 2

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.