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

Extremstellen von Kurvenscharen R^2->R (Hilfe gesucht)

 

Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 13.07.2015, 11:51     Titel:
  Antworten mit Zitat      
Hallo,

kann es an der Anzeige liegen?
Ist der 11. Wert im Variable Editor auch sehr groß?

Mal im Command Window
Code:
eingeben...

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen


Kemba

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.07.2015, 12:39     Titel:
  Antworten mit Zitat      
Harald hat Folgendes geschrieben:
Hallo,

kann es an der Anzeige liegen?
Ist der 11. Wert im Variable Editor auch sehr groß?

Mal im Command Window
Code:
eingeben...

Grüße,
Harald

Dieser Tipp macht das Problem irgendwie nur noch verrückter.
Mit der Formatänderung wird mir nun bei der Ausgabe tatsächlich der gewünschte Wert angezeigt. Allerdings habe ich beim Plotten immernoch die komischen Werte. Also irgendwie nutzt MATLAB lieber die seltsamen Werteals die richtigen :/
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 13.07.2015, 12:57     Titel:
  Antworten mit Zitat      
Hallo,

beim Plotten wird die Skala an die verfügbaren Werte angepasst. Wenn du einen riesig großen Wert hast, dann wird der eben auch berücksichtigt.

Das Problem ist ja anscheinend, dass für dieses eine a nicht das lokale Minimum gefunden wird. Wie wäre es denn, wenn du die Startwerte so anpasst, dass es gefunden wird?
Ansonsten wäre eine Lösung, die unsinnigen Lösungen nachträglich z.B. auf NaN zu setzen.
Code:
Ex(abs(Ex) > 1e9) = NaN;


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Kemba

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.07.2015, 13:32     Titel:
  Antworten mit Zitat      
Ich hab jetzt für a=0 einfach den Werte in meiner For-Schleife manuell auf 0 gesetzt, was das Problem gemeinsam mit der Formatänderung tatsächlich löst.

Ich habe aber weiterhin einen anderen Wertefehler :/

Wenn ich manuell einen Wert ausrufe
Zitat:
>> f1([Ex(4) Ey(4)], -7)

x =

2.3333


y =

-2.3333


z =

-12.704


ans =

-12.704

Erhalte ich dieses schönes Ergebnis
Meine Ez-Matrix hat allerdings nur für a=-10 und a=10 einen Wert ungleich 0

Zitat:

>> Ez

Ez =

Columns 1 through 11

-37.037 0 0 0 0 0 0 0 0 0 0

Columns 12 through 21

0 0 0 0 0 0 0 0 0 37.037


Ich habe deswegen extra schon die Forschleife verändert
Zitat:
for a=-10:10
b=a+11
if a<0
[E Ez]=fminsearch(@(v) f1(v,a), [-a/3 a/3])
elseif a==0
E=[0 0]
Ez=0
else
[E Ez]=fminsearch(@(v) g1(v,a), [-a/3 a/3])
end
Ex(b)=E(1)
Ey(b)=E(2)
Ez(b)=f1([Ex(b) Ey(b)],a)
end

Was allerdings nichts an der komischen Ausgabe ändert :/
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 13.07.2015, 14:10     Titel:
  Antworten mit Zitat      
Hallo,

schau dir mal in deinem Code an, wo du überall Ez verwendest. Das sollte das Problem erklären.
Solche Probleme kannst du auch selbst unter Verwendung des Debuggers erkennen.

Für Code bitte die Code-Tags statt der Quote-Tags verwenden.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Kemba

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.07.2015, 09:22     Titel:
  Antworten mit Zitat      
Ich versuche nun gerade meine 3D-Punkte, die ich wie oben beschrieben nun endlich gewonnen habe zu fitten. Leider finde ich dafür nicht den richtigen Befehl :/
Im 2D-Bereich gibt es ja so schöne Sachen wie polyfit und polyval, aber für 3D finde ich irgendwie gar nichts Sad
Kennt da jemand was?
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 14.07.2015, 10:24     Titel:
  Antworten mit Zitat      
Hallo,

wie soll denn die Kurve aussehen? Grundsätzlich z.B.
Code:


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Kemba

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.07.2015, 10:36     Titel:
  Antworten mit Zitat      
Harald hat Folgendes geschrieben:
Hallo,

wie soll denn die Kurve aussehen? Grundsätzlich z.B.
Code:


Grüße,
Harald

Naja die Punkte nehmen alle die Werte [-a/3 a/3 (-a/3)^3-(a/3)^3-a*(-a/3)*(a/3)]
und daran muss ich die Kurve fitten
Das natürlich ohne Toolbox und ohne, dass ich die eben genannte Formel verwende, da ich die ja nur durch symbolisches Rechnen erhalten könnte.... Mad
 
Kemba

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.07.2015, 12:32     Titel:
  Antworten mit Zitat      
Kemba hat Folgendes geschrieben:
Harald hat Folgendes geschrieben:
Hallo,

wie soll denn die Kurve aussehen? Grundsätzlich z.B.
Code:


Grüße,
Harald

Naja die Punkte nehmen alle die Werte [-a/3 a/3 (-a/3)^3-(a/3)^3-a*(-a/3)*(a/3)]
und daran muss ich die Kurve fitten
Das natürlich ohne Toolbox und ohne, dass ich die eben genannte Formel verwende, da ich die ja nur durch symbolisches Rechnen erhalten könnte.... Mad


Problem gelöst!
Ich musste einfach nur meine Vektoren Ex,Ey,Ez, die ich eh schon hatte mit plot3(Ex,Ey,Ez) plotten und das ist meine Kurve...
 
Kemba

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.07.2015, 13:15     Titel:
  Antworten mit Zitat      
Ich möchte mich hier erst einmal für diesen 3-Fach-Post entschuldigen, aber als Gast darf ich leider nicht editieren.

Ich habe nun soweit egtl alles was ich brauche zusammen und verstanden, allerdings stellt sich mir noch eine allerletzte Frage.

Ich habe vorher damit gearbeitet
Code:
function [z] = kurv( x,y,a )
%UNTITLED Summary of this function goes here
%   Detailed explanation goes here
z=x.^3-y.^3-a.*x.*y

end


und konnte das denn ja auch relativ einfach plotten
Code:
clear
clc
x=-40:40;
y=-40:40;
[X,Y]=meshgrid(x,y);
for a=-20:20
    surf(X,Y,kurv(X, Y,a));
    pause(0.5)
end


Nun habe ich meine Funktion leider etwas anders definiert
Code:
function [ z ] = f1(v,a)
% v ist ein Vektor mit v=(x,y)
% a ist der Parameter der Kurvenschar
x=v(1)
y=v(2)

% z gibt den Funktionswert der Funktion f1((x,y),a)=x^3-y^3-axy aus

z=x.^3-y.^3-a.*x.*y

% Die elementaren Operatoren werden für die Grafik gebraucht


end
 

Und nun weiß ich leider nicht, wie ich v vernünftig definieren muss, damit ich in einem plot damit arbeiten kann :/
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 14.07.2015, 18:46     Titel:
  Antworten mit Zitat      
Hallo,

deine neue Funktion ist einfach nicht so aufgebaut, dass sie solche Argumente entgegennehmen kann. Ich würde die Funktion entsprechend umschreiben.

Grüße,
Harald

P.S.
Zitat:
Ich möchte mich hier erst einmal für diesen 3-Fach-Post entschuldigen, aber als Gast darf ich leider nicht editieren.

Wie wäre es denn mit einer Anmeldung?
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.