|
koffer-murphy |
Forum-Anfänger
|
|
Beiträge: 14
|
|
|
|
Anmeldedatum: 15.04.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.04.2008, 20:51
Titel: Problem mit surf / mesh
|
|
Hallo,
ich würde gerne ein Profil mit Matlab darstellen.
Mit dem Befehl mesh(X) erhalte ich das Ergebnis wie auf dem Bild in der Anlage beigefügt. Nun möchte ich auf die Oberfläche ein Gitter legen, damit das bisschen hübscher aussieht.
Eigentlich sollte das ja mit dem Befehl surf gehen. Dabei wird jedoch die gesamte Oberfläche schwarz dargestellt...
Was mache ich falsch? Ich habe auch schon probiert, den Befehl mesh(X,Y,Z) zu verwenden., wobei ich X und Y aus meshgrid bestimme. Leider erhalte ich hier eine Fehlermeldung:
[X,Y]=meshgrid(smoothv_sgolay);
??? Maximum variable size allowed by the program is exceeded.
Error in ==> meshgrid at 44
xx = xx(ones(ny, 1),;
Hat jemand eine Idee, wie ich nun ein Gitter auf die Oberfläche legen kann?
Vielen Dank für eure Hilfe!
Beschreibung: |
|
Download |
Dateiname: |
ob_3d.jpg |
Dateigröße: |
113.41 KB |
Heruntergeladen: |
1277 mal |
|
|
|
|
|
Bijick |
Ehrenmitglied
|
|
Beiträge: 914
|
|
|
|
Anmeldedatum: 18.06.07
|
|
|
|
Wohnort: Nürnberg
|
|
|
|
Version: R2006b, R2008b
|
|
|
|
|
|
Verfasst am: 22.04.2008, 09:30
Titel:
|
|
Hallo koffer-murphy,
das alles spricht dafür, dass Du zu viele Werte in der darzustellenden Matrix hast. Wenn alles schwarz ist, bedeutet das, dass man vor lauter Gitterlinien die Werte nicht mehr sieht.
Versuch mal
mit verschiedenen ganzzahligen Werten für step.
Herzliche Grüße
Bijick
_________________
>> why
|
|
|
koffer-murphy |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 14
|
|
|
|
Anmeldedatum: 15.04.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.04.2008, 12:28
Titel:
|
|
Hallo,
leider klappt es mit deinem Befehl nicht:
>> surf(werte(1:100:end,1:100:end));
??? Error using ==> surf at 75
Z must be a matrix, not a scalar or vector.
Ich glaube, der Befehl step ist hier nicht richtig...
|
|
|
denny |
Supporter
|
|
Beiträge: 3.853
|
|
|
|
Anmeldedatum: 14.02.08
|
|
|
|
Wohnort: Ulm
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 22.04.2008, 12:43
Titel:
|
|
Das Problem ist das du step zu groß gewählt hast.
Step bedeutet nimm nur jedes 100 Wert (wie in deinem Fall).
Aber deine Matrix ist wohl kleiner als 100x100.
Beispiel:
erzeugt Fehler, da meine Matrix ist nur 9x9
und ich möchte gleich den 10. Wert haben, das läuft schief da kein 10.Wert in Matrix existiert
wählt man z.B:
dann funktioniert die Code, da 10. Wert existiert in diesem Fall.
Also muss dein step immer kleiner gleich der Matrix Größe wählen
|
|
|
steffi |
Forum-Century
|
|
Beiträge: 149
|
|
|
|
Anmeldedatum: 07.03.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.04.2008, 12:43
Titel:
|
|
ich glaube, bijick meinte step hier nicht als Befehl, sondern als Variable!
Wie groß ist deine Matrix? Versuch doch mal:
Wenn das immer noch undeutlich ist:
_________________
Wenn ich bei der Arbeit mit Computern eins gelernt habe dann das ich einem Computer nur soweit traue wie ich ihn werfen kann.
|
|
|
koffer-murphy |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 14
|
|
|
|
Anmeldedatum: 15.04.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.04.2008, 12:46
Titel:
|
|
ja, ich weiß, die matrix ist 5x80001 groß...
und ich habe für step 100 und für end 80001 gewählt.. trotzdem kommt die fehlermeldung...
|
|
|
steffi |
Forum-Century
|
|
Beiträge: 149
|
|
|
|
Anmeldedatum: 07.03.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.04.2008, 13:02
Titel:
|
|
5x80001, dann kannst du nicht mit
loslegen: 100 ist doch größer als 5!
versuchen!
_________________
Wenn ich bei der Arbeit mit Computern eins gelernt habe dann das ich einem Computer nur soweit traue wie ich ihn werfen kann.
|
|
|
denny |
Supporter
|
|
Beiträge: 3.853
|
|
|
|
Anmeldedatum: 14.02.08
|
|
|
|
Wohnort: Ulm
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 22.04.2008, 13:15
Titel:
|
|
Ja du hast aber nur 5 Zeilen und du springst in Zeilenrichtung gleich 100 Zeilen, das wird einfach schief gehen
So sieht Syntax für Zugriff auf Matrix-Elemente
X(zeilen,spalten).
Vor der Komma wählt man Anzahl Zeilen
Nach der Komma --- Anzahl Spalten
z.B. X(5,100) gibt Elemnt aus 5.Zeile und 100.Spalte
genau so ist es mit Laufindex
X(von:bis ,von:bis).
z.B. X(1:5,1:6) würde 5 Zeilen und 6Spalten Matrix ausgeben
Mit Step gibt man bloß die Schrittweite
X(von:step_row:bis ,von:step_col:bis).
so z.B. würde es in deinem Fall funktionieren
Aber ob es die Lösung ist für das Gitter ist, da bin ich mir nicht sicher
|
|
|
koffer-murphy |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 14
|
|
|
|
Anmeldedatum: 15.04.08
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.04.2008, 14:55
Titel:
|
|
Hallo,
vielen Dank für die Hinweise... Hatte irgendwie einen Brett vorm Kopf... Klar konnte das nicht funktionieren...
Jetzt haut's hin!
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|