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

Matrix aus zwei Vektoren erstellen.

 

Runa
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 22.03.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.03.2016, 20:06     Titel: Matrix aus zwei Vektoren erstellen.
  Antworten mit Zitat      
Hallo,
ich bin neu im Programmiren und mit matlab, deswegen seht mir bitte nach wenn meine Frage dumm ist. Embarassed
Ich sitze vor einem Problem für das ich keine Lösung finde.
Ich möchte eine Matrix erstellen , die wie Folgt aussieht.
Die Matrix soll 500 Zeilen und 2000 Spalten haben.
Überall sollen NaNs Stehen (eine Matrix aus NaNs kann ich erzeugen), außer an bestimmten Stellen.
Die Matrix wird von zwei Vektoren eingerahmt, welche x und Y- Wert einer Funktion sind.
An den Stellen an denen f(x)= y , sollen die Elemente mit 1 ersetzt werden.
Ich denke Matrixelemente mit einem bestimmten Zeilen ( i ) und Spaltenwirt ( j )kann ich wir Folgt ersetzen.
Code:

for m = 1:length(i)
A(i(m),j(m)) = 1;
end
 

Nur was mache ich wenn mein f(x) mathematisch zwischen zwei j liegt.
Gruß und danke im schon mal
Runa
Private Nachricht senden Benutzer-Profile anzeigen


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 22.03.2016, 20:37     Titel:
  Antworten mit Zitat      
ich weis nicht ob ich dein problem verstehe aber entwerder runden oder interpolieren würde ich sagen. sonst bitte ein lauffähiges minimalbeispiel bringen.
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Runa
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 22.03.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.03.2016, 20:47     Titel:
  Antworten mit Zitat      
Danke,
du meinst mit dem find- Kommando

Code:

p = find(a>=x,1,'first')

 

über eine Schleife immer den nächstliegenderen wert des Y Vektors suchen?
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 22.03.2016, 22:06     Titel:
  Antworten mit Zitat      
du erstellst eine nanmatrix in der größe die du willst dann suchst du in deiner originalmatrix die letzte 0 in jeder spalte und schiebst dann allles danach in deine spalte in der nanmatrix.
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Runa
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 22.03.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.03.2016, 22:36     Titel:
  Antworten mit Zitat      
Ich habe ja gar keine andere Matrix.
Ich habe einen vektor der in einem Kordinatensystem die Y-Achse wehre der ist so lang wie die NaN-Matrix Zeilen hat.
Dann habe ich einen Vektor der so lang ist wie die Nan-Matrix Spalten hat das wehre die x-Achse.
Und eine Funktion f(x)=y zB eine Sinuskurve.
Dann wehrre mein Y-Vektor der wer von -1 bis 1 aufgeteilt in soviel Elemente wie die Matrix Zeilen hat hat.
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 22.03.2016, 22:47     Titel:
  Antworten mit Zitat      
hab zwei ähnliche threads zusammengeschmissen. bring doch mal wie ich bereits sagte ein lauffähiges minimalbeispiel.
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Runa
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 22.03.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.03.2016, 11:01     Titel:
  Antworten mit Zitat      
Ja, werde ich machen. ich musste erst einmal herausbekommen was ein lauffähiges minimalbeispiel ist. Ich dachte erst du meinst eine besondere Art von schleife oder so. Embarassed
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 23.03.2016, 11:03     Titel:
  Antworten mit Zitat      
ein minimalbeispiel ist das du nicht 500x2000 werte hast sondern zb 5x20 mit x und y und dann sagst was da passieren sollst anhand von daten die man auch in matlab benutze kann. es ist viel einfacher code zu posten als ihn zu beschreiben.
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 23.03.2016, 23:30     Titel: Re: Matrix aus zwei Vektoren erstellen.
  Antworten mit Zitat      
Hallo Runa,

Da stimme ich Winkow zu: Ein Beispiel mit einer 5x5 Matrix wäre erhellend.

So weit ich Dich verstehe geht es darum: Wenn Du darin eine Diagonale mit 1 füllen möchtest, geht das ja direkt. Du kannst aber auch den Fall haben, bei dem Du eine 1 auf den Punkt X=2.5, Y=3.1 setzen möchtest.
Hier muss man dann entweder runden und Du setzt die 1 auf [2,3] oder Du setzt die 1 gar nicht. Oder Du verteils rund um den Punkt Zahlen, die proportional zu den Abständen sind. Genauso werden auch Linien per "Anti-Aliasing" in Pixel-Grafiken gezeichnet, um Treppeneffekte zu vermeiden. Suche mal im Netz danach.

Gruß, Jan
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.