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

Funktion innerhalb einer for schleife erzeugen

 

Wurtzelbert
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 12.03.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.03.2018, 14:50     Titel: Funktion innerhalb einer for schleife erzeugen
  Antworten mit Zitat      
Hey,
Ich habe ein Problem und ich weiß leider nicht, ob es lösbar ist!
Ich habe eine Funktion, die von zwei Parametern (x,i) abhängt und ich möchte die Nullstellen der Funktion bezüglich x für verschiedene ganzzahlige i-werte bestimmen.
Es funktioniert hervorragend, wenn ich mir für jeden einzelnen i-Wert eine eigene Funktion schreibe, aber das ist nicht schön... vielleicht kann mir ja jemand von euch helfen!

Code:
 %Das ist meine Funktion (vereinfachte Form)
function y=example(x,i)
y= i * (x^3)
 

und hier mein "main" :

Code:

clear all
clc

 for i=0:4
     % habe es heir auch schon mit "smys x" zusätzlich versucht, klappt auch nicht
     fun=@(x) example(x,i);
     x0=1.5;
     h(i)=fsolve(fun,x0);
 end
 


Wäre toll, wenn jemand die Lösung kennt und mir helfen kann!
Das ganze Prorgamm soll wenn es fertig ist sehr viel mehr als 4 funktionen vergleichen und für jedes i von 1 bis 1000 ne eigen funktion zu erstellen ergibt wirklich kein schönes Projekt...
Vielen Dankim Voraus!!
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


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

sieht an sich gut aus, außer dass i bei 1 loslaufen sollte, da es kein h(0) gibt.

Welche Probleme treten denn mit dem momentanen Ansatz auf?

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

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 12.03.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.03.2018, 21:58     Titel:
  Antworten mit Zitat      
Guten Abend,
Das eigentliche Programm umfasst ca. 2000 Zeilen mit allen Funktionen und der Fehler der da raus kam war ziemlich lang und ich konnte absolut nichts damit anfangen (irgendwas mit imaginären Einheiten etc.) Aber ja, der Fehler war tatsächlich dass ich bei h(0) angefangen habe...
Ich war wohl noch im C++ Modus...

Vielen Dank für die Hilfe!!! Ich glaube das hätte ich nie bemerkt...
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 12.03.2018, 22:30     Titel:
  Antworten mit Zitat      
Hallo,

i ist standardmäßig die imaginäre Einheit. Ich würde das daher nicht als Schleifenindex verwenden. Sollte aber eigentlich dennoch kein Problem sein.

So oder so... falls das Problem jetzt gelöst ist, passt's ja :)

Grüße,
Harald
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.