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

Surface Fitting

 

Johnny44

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.07.2011, 21:54     Titel: Surface Fitting
  Antworten mit Zitat      
Hallo!

Würde gern mithilfe des Surface Fitting Tools eine schöne 3d-Grafik erstellen. Bloß weiß ich leider nicht wirklich weiter, da ich mich nur mit der 2d Toolbox auskenne Sad

Im Prinzip habe ich nur einen Vektor:

Code:

a=[59.76 68.19 100 68.19 59.79]
 


Und diesen würde ich gerne in einem 3d Plot darstellen. Die Datenpunkte sollen mithilfe einer shape-preserving interpolation interpoliert werden.

Da ich mir vorstellen kann, dass meine Erklärung nicht wirklich hilfreich ist^^ Habe ich mal zwei Bilder angehängt.

Bild 1 ist der gefittet Vektor in 2d und Bild 2 die Form, wie ich es mir in etwa vorstelle.

Ich hoffe jemand kann mir helfen.

Viele Grüße
Johnny

Unbenannt2.jpg
 Beschreibung:
so soll es in etwa aussehen

Download
 Dateiname:  Unbenannt2.jpg
 Dateigröße:  39.3 KB
 Heruntergeladen:  726 mal
Unbenannt.jpg
 Beschreibung:
hier der 2d plot

Download
 Dateiname:  Unbenannt.jpg
 Dateigröße:  18.21 KB
 Heruntergeladen:  716 mal


Andy386
Forum-Guru

Forum-Guru


Beiträge: 485
Anmeldedatum: 24.06.09
Wohnort: ---
Version: 7.1/8
     Beitrag Verfasst am: 03.07.2011, 00:44     Titel:
  Antworten mit Zitat      
wenn die daten nur 1-D vorliegen könntest du mit den euklidischen Distanzen arbeiten...
Code:
a=([59.76 68.19 100 68.19 59.79])
A=[zeros(size(a));zeros(size(a));a;zeros(size(a));zeros(size(a))]
A(:,3)=a
Mi=[2,2] %indexmittelpunkt von A.

% so. und nun die "Eckdaten" ausrechnen lassen.
% dafür könnte man z.B. erst mit interp1 Vektor a "hochziehen" und dann
%  die Werte für entsprechende Distanzen nehmen
for i=1:5
    for j=1:5
        if A(i,j)~=0
            A(i,j)=interp1_wert_von(sqrt( (i-Mi(1)).^2 + (i-Mi(2)).^2 ));
        end
    end
end

surf(A)

_________________

Ich hasse es wenn die Leute Fragen stellen, man dann versucht sich Mühe zu geben, und diejenigen ihren Thread nie wieder besuchen...
Private Nachricht senden Benutzer-Profile anzeigen
 
Johnny44

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.07.2011, 15:28     Titel:
  Antworten mit Zitat      
Hi Andy!

Danke für deine Antwort! Jedoch funktioniert der Code bei mir irgendwie nicht Sad

Dachte daran dass ich das "_wert_von" entfernen muss, jedoch bekomme ich auch dann eine Fehlermeldung Sad

Weißt du oder jemand anders vielleicht Rat?

Viele Grüße
Johnny
 
Andy386
Forum-Guru

Forum-Guru


Beiträge: 485
Anmeldedatum: 24.06.09
Wohnort: ---
Version: 7.1/8
     Beitrag Verfasst am: 03.07.2011, 23:00     Titel:
  Antworten mit Zitat      
nej, dass "interp1_wert_von" war eher Pseudocode.
Das bezeichnete einen Vektor, der aus einer noch nicht geschriebenen interp1 raus kam. also das was im Grünen steht.
Die Grundlage für diesen Vektor bildete der Teil von a, der in x-Werten von 0 bis zum ende ging (hier [100 68.19 59.79]).

Also hat man z.B. 100 98 97.5 ...
die betreffenden Distanzen hat man vorher vorgegeben, im "xi" (help interp1).
Bei meinem code fehlte dann noch die annäherung der realen Distanz an die in xi gewählte.

mein code belief sich eher auf den Ansatz zum 3D-Zeug.
_________________

Ich hasse es wenn die Leute Fragen stellen, man dann versucht sich Mühe zu geben, und diejenigen ihren Thread nie wieder besuchen...
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 - 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.