Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   
Bücher:

Studierende:
Praktikant Toolentwicklung Matlab (m/w)
Branche: Beratung, Expertise, Fahrzeugtechnik, Fahrzeugteile, Technische Dienstleistungen
MBtech Group GmbH & Co. KGaA - Fellbach

Abschlussarbeit / Praktikum: Entwicklung Matlab (m/w)
Branche: Informationstechnologie, Elektrotechnik, Elektronik
GIGATRONIK Technologies GmbH - Ulm

Studentische Mitarbeit - Fahrzeugmessungen
Branche: mehrere
IAV GmbH - Ingenieurgesellschaft Auto und Verkehr - Berlin

Werkstudent (m/w) High End GNSS Simulation mit modernsten Signalgeneratoren
Branche: Mess-, Regel-, Automatisierungstechnik, Telekommunikation, Nachrichtentechnik
ROHDE & SCHWARZ GmbH & Co. KG - München

Praktikant Testsystemaufbau (m/w)
Branche: Beratung, Expertise, Fahrzeugtechnik, Fahrzeugteile, Technische Dienstleistungen
MBtech Group GmbH & Co. KGaA - Sindelfingen

weitere Angebote

Partner:


Vermarktungspartner


Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Die Berechnung einer Kurvefunktion.

 

auphiros
Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 07.04.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.04.2017, 16:39     Titel: Die Berechnung einer Kurvefunktion.
  Antworten mit Zitat      
hallo, alle
Ich habe jetzt einen Problem mit der Rechnung. Ich habe eine Kurvenfunktion. f(x)=299.8444. Ich will x haben.... Könnte jemand mir helfen?. Ich habe sehr viel probiert, aber geht es immer noch nicht


Code:
 syms x;               %symbolische variable definieren
a0 =       -1410  
       a1 =        2652  
       b1 =      -42.46  
       a2 =       -2192  
       b2 =       72.94  
       a3 =        1581  
       b3 =      -79.38  
       a4 =      -983.6  
       b4 =       69.11  
       a5 =       513.6  
       b5 =      -50.15  
       a6 =      -215.9
       b6 =        28.2
       a7 =       68.12
       b7 =      -12.87  
       a8 =      -12.25
       b8 =       4.315
       w =      0.0331  
 
g =@(x) a0 + a1*cos(x*w) + b1*sin(x*w) + a2*cos(2*x*w) + b2*sin(2*x*w) + a3*cos(3*x*w) + b3*sin(3*x*w) + a4*cos(4*x*w) + b4*sin(4*x*w) + a5*cos(5*x*w) + b5*sin(5*x*w) +  a6*cos(6*x*w) + b6*sin(6*x*w) + a7*cos(7*x*w) + b7*sin(7*x*w) + a8*cos(8*x*w) + b8*sin(8*x*w)
               

x = solve( g= 299.8444)
 
[/code]
Private Nachricht senden Benutzer-Profile anzeigen


Friidayy
Forum-Century

Forum-Century


Beiträge: 176
Anmeldedatum: 17.12.13
Wohnort: ---
Version: R2012b
     Beitrag Verfasst am: 09.04.2017, 17:50     Titel:
  Antworten mit Zitat      
Hallo,

habe momentan kein Matlab zur Hand =(

Code:
x=solve(g==299.8444)


hilft das bereits? Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
auphiros
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 07.04.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.04.2017, 10:40     Titel:
  Antworten mit Zitat      
Leider geht es immer noch nicht.

Undefined function 'eq' for input arguments of type 'function_handle'.

Error in MITi1normalschnitt_neutest (line 124)
x = solve( g== 299.8444)

[EDITED, Jan, Bitte kein Top-Quoting der gesamten vorherigen Nachricht - Danke!]
Private Nachricht senden Benutzer-Profile anzeigen
 
Friidayy
Forum-Century

Forum-Century


Beiträge: 176
Anmeldedatum: 17.12.13
Wohnort: ---
Version: R2012b
     Beitrag Verfasst am: 10.04.2017, 11:06     Titel:
  Antworten mit Zitat      
Code:
g = a0 + a1*cos(x*w) + b1*sin(x*w) + a2*cos(2*x*w) + b2*sin(2*x*w) + a3*cos(3*x*w) + b3*sin(3*x*w) + a4*cos(4*x*w) + b4*sin(4*x*w) + a5*cos(5*x*w) + b5*sin(5*x*w) +  a6*cos(6*x*w) + b6*sin(6*x*w) + a7*cos(7*x*w) + b7*sin(7*x*w) + a8*cos(8*x*w) + b8*sin(8*x*w)
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 17.513
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2014a
     Beitrag Verfasst am: 10.04.2017, 11:48     Titel:
  Antworten mit Zitat      
Hallo,

angesichts der Komplexität der Gleichung wird es keine symbolische Lösung geben. Ich fände es sinnvoller, nach einer numerischen Lösung zu suchen, z.B. mit fzero oder fsolve.

Ich habe die Funktion mal auf verschiedenen Intervallen geplottet, z.B. mit deinem ursprünglichen Code
Code:
fplot(g, [-1000, 1000])

und habe Zweifel, dass es überhaupt eine Lösung gibtWie kommt diese Funktion denn zustande?
Sieht nach Fourier-Reihe aus, aber wie gut diese eine gegebene Funktion tatsächlich annähert, ist halt immer fraglich.

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 07.04.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.04.2017, 13:26     Titel:
  Antworten mit Zitat      
Friidayy hat Folgendes geschrieben:
Code:
g = a0 + a1*cos(x*w) + b1*sin(x*w) + a2*cos(2*x*w) + b2*sin(2*x*w) + a3*cos(3*x*w) + b3*sin(3*x*w) + a4*cos(4*x*w) + b4*sin(4*x*w) + a5*cos(5*x*w) + b5*sin(5*x*w) +  a6*cos(6*x*w) + b6*sin(6*x*w) + a7*cos(7*x*w) + b7*sin(7*x*w) + a8*cos(8*x*w) + b8*sin(8*x*w)


Vielen Dank.Aber glaube ich,es ist immer noch falsch. ich habe versucht ,mit andere Methode , es zu lösen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 17.513
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2014a
     Beitrag Verfasst am: 10.04.2017, 13:46     Titel:
  Antworten mit Zitat      
Hallo,

ich hatte dir auch noch eine Antwort geschrieben.

Zitat:
Aber glaube ich,es ist immer noch falsch.

Es wäre gut, wenn du beschreibst, wie dieser Eindruck entsteht.

Zitat:
ich habe versucht ,mit andere Methode , es zu lösen.

Und? Warst du damit erfolgreich?

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 07.04.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.04.2017, 14:04     Titel:
  Antworten mit Zitat      
sry. habe ich es auch probiert, aber bei meiner Situation ist es nicht richtig . Weil ich falsche Richtung genommen habe . Ich habe mit meinem Tutor gesprochen. Er meint, dass ich die Funktion der Kurve nicht benötigt. sondern soll ich mit trapz() die Fläche der Kurve berechnen. um den Konfidenzintervall zu bestimmen. z.B. bei der Rechtseite der Kurve (also x>0). durch eine for Schleife sollt die Code aufgebaut werden. ,wenn die Fläche der rechten Konfidenzgrenze gleich 0.95 ist. Dann kann ich rechts Konfidenzintervall bestimmen.
Code:
z=trapz(x,y);
xrechts=x(58:115);
xlinks=x(1:58);
yrechts=y(58:115);
ylinks=y(1:58);
zlinks=trapz(xlinks,ylinks);
zrechts=trapz(xrechts,yrechts);

if z2/zrechts = 0.95

for i=0:0.1:57
   
    z2=trapz(i,yrechts)
    z2/zrechts == 0.95


end
 

wie kann ich diese xi bestimmen. Ich bin Anfänger bei MATLAB. Ich habe sehr viel nachgeguckt und probiert. Aber leider kriege ich immer noch nicht hin.

y.mat
 Beschreibung:

Download
 Dateiname:  y.mat
 Dateigröße:  1.09 KB
 Heruntergeladen:  28 mal
x.mat
 Beschreibung:

Download
 Dateiname:  x.mat
 Dateigröße:  344 Bytes
 Heruntergeladen:  32 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 17.513
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2014a
     Beitrag Verfasst am: 10.04.2017, 15:25     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
wie kann ich diese xi bestimmen.

Von welchen xi redest du?

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 07.04.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.04.2017, 15:36     Titel:
  Antworten mit Zitat      
Die Position der X-Achse, wenn ich trapz Funktion benutzen will. Muss ich 2 Vektoren haben. Ein ist über X-Werte. ein ist über Y-Werte. Wenn zi/zrechts=0.95, ich will zu diesem Zeitpunkt xi haben.

Grüße
Auphiros
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 17.513
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2014a
     Beitrag Verfasst am: 10.04.2017, 15:47     Titel:
  Antworten mit Zitat      
Hallo,

es klingt für mich sinnvoller, cumtrapz zu verwenden und zu überprüfen, was der erste Werte > 0.95*letzter Wert ist.

Für x und y solltest du alle verfügbaren Daten verwenden.

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 07.04.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.04.2017, 13:53     Titel:
  Antworten mit Zitat      
Vielen Dank!
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
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de goPCB.de


 Impressum  | Nutzungsbedingungen  | Datenschutz  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2017 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.