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

if-abfrage

 

Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.09.2012, 11:51     Titel:
  Antworten mit Zitat      
Hallo!

Ich hoffe, dass hilft, ich fang mal ganz von vorne an, was ich haben will:

aa_sum =

0.5984 0.5967 0.5735 0.5521 0.5643 0.5669
0.1464 0.1971 0.3085 0.1987 0.1463 0.1950
0.1615 0.1689 0.2487 0.1535 0.1608 0.2053
0.0667 0.1026 0.1325 0.1049 0.1135 0.1165
0.1836 0.2068 0.2053 0.2068 0.1622 0.2019
0.1208 0.1539 0.1737 0.1601 0.1839 0.2064
0.1689 0.1979 0.1872 0.1980 0.1500 0.1535
0.1821 0.1525 0.1464 0.1417 0.1543 0.1362
0.2178 0.1836 0.2032 0.1731 0.2220 0.2131
0.1931 0.2007 0.1971 0.1944 0.2149 0.1880
0.1106 0.1247 0.1202 0.1189 0.1126 0.1305


aa_sum enthält meine Strahlungswerte-Werte. Diese Werte stammen aus einer Messung und wurden dann entsprechend des Azimutwinkels sortiert. Also so, dass alle Werte, die bei einem Azimut von 1° liegen zusammengehören und so weiter. Diese Daten wurden mit dem Satelliten gemessen.

Und jetzt habe ich noch Bodenstrahlungswerte mit denen ich diese Sat-Daten vergleichen will. Die Bodendaten sind punktgenau. Ich habe mir mit der distance Funktion den Standort der einzelnen Bodenmessgeräte berechnet (also Entfernung und Azimutwinkel).

an =
Columns 1 through 6

269.6471 285.2771 274.8463 268.1752 286.6218 270.6452

Columns 7 through 12

307.6060 300.8517 310.7344 330.4364 287.3577 310.6290

Columns 13 through 18

186.3484 317.7405 327.0890 327.0890 207.5477 189.6920

Columns 19 through 24

305.8707 272.2267 277.6429 298.7705 304.7853 265.7996

Columns 25 through 30

301.4978 255.6413 347.0842 217.8139 263.4898 261.1303

und entf =

Columns 1 through 6

213.0548 195.2015 175.3150 178.4915 157.7646 121.4694

Columns 7 through 12

109.5626 115.5264 147.2300 88.0902 93.5331 40.9509

Columns 13 through 18

66.0688 18.5965 23.0170 23.0170 5.0875 13.9760

Columns 19 through 24

10.8488 183.4896 168.7616 77.8335 75.5329 70.8921

Columns 25 through 30

26.2851 19.3005 55.9507 36.1511 204.4706 211.8732


Als erstes habe dann probiert, die Strahlungswerte vom Satelliten bei den Standorten der Bodenstationen herauszubekommen.

A = aa_sum(round(entf(i)), round(an(i));

Bis dahin hat auch alles funktioniet:

Jetzt will ich aber nicht nur genau den Standort der Bodenmessgeräte mit den Satellitendaten vergleichen, sondern, ich will die Pixel rund um die Bodenstationen mitberücksichtigen.
Also statt genau den Satellitenmesswert von zB. Entfernung 223 und Azimut 76 Grad, möchte ich jetzt Satellitenmesswerte von Entfernung 222bis224 und Azimut 75-77Grad.

Die Werte, die ich mitgeschickt habe, sind nur ein Teil der Matrix bzw. der Vektoren.

Hoffe das hilft etwas weiter, bin euch sehr dankbar, dass ihr mit mir versucht, das Problem zu lösen.

MFG


Tusor
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 71
Anmeldedatum: 02.07.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.09.2012, 12:12     Titel:
  Antworten mit Zitat      
Und hier dran sieht man schon, dass das falsch sein muss!
Code:
A = aa_sum(round(entf(i)), round(an(i));

entf enthält Zahlenwerte (Entfernungen) und keine Indizes, die man nehmen kann, um auf ein Element in aa_sum zuzugreifen.
Du musst dir erst mal noch aus deinen Werten in entf und an die passenden Indizes für den Zugriff in deine aa_sum-Matrix erzeugen.
Außerdem verstehe ich den Aufbau von aa_sum immer noch nicht. Was gehört jetzt zu 1° Azimut? Eine Spalte oder eine Zeile der Matrix?
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.09.2012, 12:36     Titel:
  Antworten mit Zitat      
und wie erzeuge ich mir aus meinen Werte in entf und a die passenden indizes für den zugriff auf meine matrix?

die Matrix ist so aufgebaut, dass in den Zeilen die Werte von entf stehen und in den spalten die für den winkel an.

MFG
 
tschun
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 73
Anmeldedatum: 05.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.09.2012, 12:46     Titel:
  Antworten mit Zitat      
Der Wert von aa_sum in der 3. Zeile und 5. Spalte steht also für entf=3 und winkel=5° ?
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.09.2012, 14:09     Titel:
  Antworten mit Zitat      
Warum kann mein Code nicht stimmen?

Wenn ich zB. die Strahlungswerte an einer bestimmten Bodenstation wissen will, die 235 km entfernt und bei einem azimut von 38° liegt und ich weiss, dass entf(5) = 235 km und an(3) =38 Grad ist, dann kann ich das doch so eingeben:

Code:

A = aa_sum(round(entf(5)), round(an(3));  
 


Oder? Mit dieser Zeile bekomme ich doch genau den Strahlungswert a_sum, der bei entf(5) und an(3) ist?

Irgendwie kenn ich mich bald gar nicht mehr aus und sicher bin ich mir jetzt auch bei nichts mehr!

MFG
 
tschun
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 73
Anmeldedatum: 05.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.09.2012, 14:19     Titel:
  Antworten mit Zitat      
Du bekommst den Strahlenwert der in der 235. Zeile und in der 38. Spalte steht.
Ob du den willst, hast du irgendwie immernoch nicht verraten.
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.09.2012, 14:30     Titel:
  Antworten mit Zitat      
Ja, ich will den Strahlenwert bei 235 und 38. Versteh ich aber trotzdem nicht ganz.
Heisst das jetzt, das mein bisheriger Code auch falsch ist?
 
Tusor
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 71
Anmeldedatum: 02.07.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.09.2012, 15:41     Titel:
  Antworten mit Zitat      
Die Frage ist halt, ob der Index deiner Matrix wirklich der physikalischen Interpretation entspricht. Das kommt bei mir z.B. sehr selten vor. Ich habe z.B. Array mit 100 Werten, die die Nummer 1 bis 100 haben. Um eine Parallelität zu deinem Beispiel zu haben sind das Positionsangaben. Wenn die Positionsangaben nun aller 5m eingetragen sind und ich den Wert bei 20m haben will, dann nehme ich nicht den 20. Wert aus meinem Array, sondern den 5. (der erste Wert entspricht 0m).
Ich werde das Gefühl nicht los, dass wir hier alle aneinander vorbei reden Laughing
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.09.2012, 16:24     Titel:
  Antworten mit Zitat      
Danke, für eure Geduld. Ja, ich glaub auch, dass wir aneinander vorbeireden, nur leider weiß ich nicht mehr, wie ich das noch erklären soll.

Eigentlich möchte ich nicht den Strahlungswert beim Index, sondern den Strahlungswert bei den Entfernungen bzw.Winkeln.
Also: den Strahlungswert vom Sat. bei Entfernung 215 km und 35 Grad, nur weiss ich halt nicht, welcher Index das in meinen vektoren ist. Leider sind meine vektoren auch nicht sortiert und sind zufallszahlen.

Gibts vielleicht irgendeine andere möglichkeit, dass ich die Messdaten vom Satelliten mit den Bodenmessdaten vergleichen kann?

MFG
 
Tusor
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 71
Anmeldedatum: 02.07.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.09.2012, 19:15     Titel:
  Antworten mit Zitat      
Es ist halt wirklich schwierig zu helfen, wenn man das Gesamtproblem nicht kennt (und wenn man nicht genau weiß, was die andere Person an Programmierkenntnis hat)
Du bist dir sicher, das in aa_sum(215,35) wirklich der Wert steht, den du haben willst? Das kannst nämlich derzeit nur du wissen, weil nur du weißt, wie aa_sum erstellt wird.
Wenn du nun also die Werte +-1 jeweils haben willst, dann willst du offenbar die 3x3-Matrix:
Code:
aa_sum(214:216,34:36)

im Allgemeinen also:
Code:
aa_sum(round(entf(i))+[-1 0 1],round(an(i))+[-1 0 1])

Das dürfte auf die Schnelle funktionieren, macht allerdings Probleme, wenn du auf Randwerte zugreifen willst. Denn dann würde das -1 bzw +1 jeweils außerhalb deines arrays liegen. Den Fall müsstest du noch gesondert abfangen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.09.2012, 12:12     Titel:
  Antworten mit Zitat      
Danke für eure Geduld. Ich werd Matlab jetzt aufgeben und die Aufgabe nicht fertig machen.
 
Tusor
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 71
Anmeldedatum: 02.07.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.09.2012, 13:10     Titel:
  Antworten mit Zitat      
Hey, erst mit Problemen anfüttern und dann aufgeben....NEIN! Crying or Very sad
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 - 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.