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

denormalisieren nach einer Ableitung

 

flgfl
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 26.11.08
Wohnort: Berlin
Version: ---
     Beitrag Verfasst am: 28.04.2014, 20:22     Titel: denormalisieren nach einer Ableitung
  Antworten mit Zitat      
Hallo alle zusammen,

ich versuche den Gradienten meiner Messdaten (in Abhängigkeit einer Variablen) im Kugelkoordinaten zu bestimmen. Hierfür ist eine partielle Ableitung notwendig.
Meine Vorgehnsweise für die partielle Ableitung:
1) Regression der Messdaten mit Hilfe von cftool
2) Diese müssen jedoch normalisiert werden (ich glaube das heißt so), damit die Gleichung besser den Graphen beschreibt
3) Symbolische Ableitung

!? 4) !? Beim Einsetzen meiner normalisierten Variablen, führt die symbolische Ableitung nicht zu richtigrn Ergebnissen.

Ich gehe davon aus, dass ich irgendwo wieder "denormalisieren" muss. Ich habe einfach ein paar Rechnungen ausprobiert, aber habe nicht die richtige Lösung gefunden.

Code:

%% Gradient für C = 0° phi = -90°

syms  p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 x CCTf
% symbolische Variablen

%%%%%%%%%%%%%%%%%%
% Gleichung aus cftool
%%%%%%%%%%%%%%%%%%

     CCTf = p1*x^9 + p2*x^8 + p3*x^7 + p4*x^6 + p5*x^5 + p6*x^4 + p7*x^3 + p8*x^2 + p9*x + p10;
% Regressionspolynom  aus cftool ermittelt; Polynom theta^9

dx = diff(CCTf,x); % symbolische Ableitung nach x(=theta)

%%%%%%%%%%%%%%%%%%
% Koeffinzienten aus cftool
%%%%%%%%%%%%%%%%%%

% Koeffizienten:
       p1 =      -12.43;
       p2 =      -4.115;
       p3 =       63.64;
       p4 =       23.33;
       p5 =      -111.2;
       p6 =      -40.32;
       p7 =       72.48;
       p8 =       41.57;
       p9 =      -38.23;
      p10 =        2697;

       
% x = theta;
xold = 180:-10:90;     % theta Messpunkte

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%    where x is normalized by mean 135 and std 30.28 (Normalisiert)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 x = (xold  - 135)/30.28;


       CCTRf = p1.*x.^9 + p2.*x.^8 + p3.*x.^7 + p4.*x.^6 + p5.*x.^5 + p6.*x.^4 + p7.*x.^3 + p8.*x.^2 + p9.*x + p10; % Regressionspolynom  aus cftool ermittelt; Polynom theta.^9
%Werte der Regressionsfunktion

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% im Command Window sich dx anzeigen lassen und einfügen
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

  dthetan = 9.*p1.*x.^8 + 8.*p2.*x.^7 + 7.*p3.*x.^6 + 6.*p4.*x.^5 + 5.*p5.*x.^4 + 4.*p6.*x.^3 + 3.*p7.*x.^2 + 2.*p8.*x + p9;
% (partielle) Ableitung nach theta('=x') Delta x wurde durch die
% Normalisierung verändert
% FEHLER % Die Werte der Ableitung sind falsch


thetagradient = 1./CCTRf.*dtheta;          
 % Gradientenvektor Richtung theta


%%%%%%%%%%%%%%%%%%%%
%Goodness of fit:
%%%%%%%%%%%%%%%%%%%%%
%   SSE: 3.102e-024
%   R-square: 1
%   Adjusted R-square: NaN
%   RMSE: NaN

 
Private Nachricht senden Benutzer-Profile anzeigen


flgfl
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 26.11.08
Wohnort: Berlin
Version: ---
     Beitrag Verfasst am: 30.04.2014, 10:54     Titel:
  Antworten mit Zitat      
Hallo,

also ich verstehe es einfach nicht wieso nicht die richtigen Werte bei der Ableitung berechnet werden.
Hier nochmal ein Beispiel einer quadratischen Funktion, das deutlich einfacher und übersichtlicher ist.

Code:


clear all
close all
clc

x   = [1,2,3,4,5,6,7,8,9,10];
y   = [1,4,9,16,25,36,49,64,81,100];


% Coefficients where x is normalized by mean 5.5 and std 3.028:
       p1 =       9.167;
       p2 =        33.3;
       p3 =       30.25;

% x is normalized by mean 5.5 and std 3.028:
        xn = (x  - 5.5)/3.028;

% Linear model Poly2:
        f_von_xn = p1.*xn.^2 + p2.*xn + p3;

% Ableitung      
        dx  = 2.*p1.*xn + p2;

plot(x,f_von_xn,'-o')
hold on
plot(x,dx,'k-x')
grid on
hold on

 


Als Ergebnis wird die schwarze Kennline in der Abbildung geliefert, während ich die rote erwarte.

verzweifelft.jpg
 Beschreibung:

Download
 Dateiname:  verzweifelft.jpg
 Dateigröße:  38.91 KB
 Heruntergeladen:  594 mal
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.