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

Nullstellen einer Winkelfunktion mit Scilab ermitteln

 

Phlix
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 14.05.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.05.2014, 17:12     Titel: Nullstellen einer Winkelfunktion mit Scilab ermitteln
  Antworten mit Zitat      
Hallo,
Ich bin absolut neu in der Scilab-Welt. Ich möchte die Nullstellen einer Sinusfunktion bestimmen und bin am verzweifeln..:(
Ich habe die Funktion f(x)= sin(x)*cosh(x)-cos(x)*sinh(x)

Über die Hilfefunktion und das Internet bin ich auf den Befehl fsolve() gestoßen. Ist das der richtige Ansatz um die Nullstellen bei Winkelfunktionen zu ermitteln?
Wie baue ich mein Programm auf um z.B in den Grenzen von -5 bis 5 die Funktion in Scilab auf Nullstellen zu untersuchen? Über eine Hilfestellung würde ich mich sehr freuen.
Private Nachricht senden Benutzer-Profile anzeigen


MarcoG
Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 11.04.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.05.2014, 12:14     Titel:
  Antworten mit Zitat      
Hallo Phlix,

die Funktion
Code:
sieht passend aus, auch wenn ich sie noch nicht verwendet habe. Du musst praktisch nur die Funktion (Im Example fsol1) anpassen und die Grenzen ändern.

Wenn du gerne ohne automatische Funktion arbeiten möchtest kannst du natürlich auch deine Funktion in den Grenzen für diskrete Werte bestimmen und dann in einer Schleife den Punkt suchen an dem sich das Vorzeichen ändert (Funktioniert natürlich nur bei Nulldurchgängen und nicht bei z.B.: y=x^2).

LG
Marco
Private Nachricht senden Benutzer-Profile anzeigen
 
Phlix
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 14.05.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.05.2014, 15:15     Titel:
  Antworten mit Zitat      
Hallo MarcoG,
vielen Dank für deinem Hinweis und es funktioniert :D
Hier nochmal der Code, falls auch andere vor einem ähnlichen Problem stehen.
Code:
function Funktion1
    x=1e-6;
    f0=ewg(x);
   
    while x<10
        x=x+0.001;
        f1=ewg(x);
        if f0*f1<=0 then
            x1=fsolve(x,ewg)
            disp(x1)
            break;
        end
        f0=f1;
    end
endfunction
funcprot(0);
function f=ewg(x)
f=cosh(x)*sin(x)-cos(x)*sinh(x);

endfunction


Ich würde jetzt aber gerne das Script wie in Matlab Zeilenweise ausführen um das Programm Zeile für Zeile nacheinander abzuarbeiten.
Wie wird das in Scilab gemacht? Es gibt hier ja leider nicht die Buttons wie in Matlab.
Ich hoffe du oder ein anderer freundlicher Forumnutzer kann mir auch hier weiterhelfen.

LG Phlix
Private Nachricht senden Benutzer-Profile anzeigen
 
MarcoG
Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 11.04.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.05.2014, 15:51     Titel:
  Antworten mit Zitat      
Hallo Phlix,

wenn ich deinen Code richtig verstehe suchst du zuerst den ersten Nulldurchgang und initialisierst dann
Code:
mit dem Wert.

Was ich nicht ganz verstehe ist, warum du den code in Function1 schreibst, die Funktion aber nicht aufgerufen wird und auch keinen Wert zurückgibt.

Zu deiner Frage: Wenn du den Code in SciNotes geschrieben hast kannst du Zeilen markieren und die dann mit Strg+E einzeln aus führen. Alternativ kannst du sie auch einfach kopieren und in die Console kopieren.

LG MarcoG
Private Nachricht senden Benutzer-Profile anzeigen
 
Phlix
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 14.05.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.06.2014, 21:44     Titel:
  Antworten mit Zitat      
Hallo MarcoG,

um die Funktion zu aktivieren gibt man in der Console
Code:

exec Funktion1.sce;
und dann anschließend
Code:


Die erste Nullstelle wird dann berechnet.

Das mit dem Debuggen versteh ich leider nicht:(
Wie kann ich das in SciNotes geschrieben Programm Zeile für Zeile durchlaufen lasssen, wenn ich es wie oben beschrieben aufrufe?

LG Phlix
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.