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

Gridfunction

 

guguli
Forum-Century

Forum-Century


Beiträge: 166
Anmeldedatum: 04.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.05.2013, 12:34     Titel: Gridfunction
  Antworten mit Zitat      
Hallo zusammen,

Ich möchte mit dem Toolbox K-Wave eine 3D grid erstellen, wodin eine Geometrie ist.
Ich hab mir das Toolbox angeguckt und wollte das Beispiel durchgehen. kriege aber diese Fehlermeldung. das hier ist meine function:
Code:

function kgrid =  test_environment (Nx, dx, Ny, dy, Nz, dz)


Nx = 64;            
Ny = 64;            
Nz = 64;        
dx = 0.1e-3;    
dy = 0.1e-3;      
dz = 0.1e-3;  
kgrid =  test_environment (Nx, dx, Ny, dy, Nz, dz);
end
 

und als fehler meldung kriege ich :
Maximum recursion limit of 500 reached. Use set(0,'RecursionLimit',N) to change the limit. Be
aware that exceeding your available stack space can crash MATLAB and/or your computer.

hab uahc versucht das RecursionLimit zu erhöhen aber matlab crash trotzdem Sad

Kann mir bitte einer helfen??
thx
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


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

wenn MATLAB es zulassen würde, würde die Funktion sich unendlich oft immer wieder selbst mit den gleichen Argumenten aufrufen. Das ist also unabhängig von der Anwendung nicht sinnvoll.

Meine Vermutung ist, dass test_environment eine vorgegebene Funktion ist, die von außen so aufgerufen werden kann:

Code:
Nx = 64;            
Ny = 64;            
Nz = 64;        
dx = 0.1e-3;    
dy = 0.1e-3;      
dz = 0.1e-3;  
kgrid =  test_environment (Nx, dx, Ny, dy, Nz, dz);


Das ist aber reine Spekulation.

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

Forum-Century

Forum-Century


Beiträge: 166
Anmeldedatum: 04.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.05.2013, 12:48     Titel:
  Antworten mit Zitat      
also test_environment ist eine funktion von mir. ich hab die so genannt. ich hab das auch mit anderen Namen ausprobiert, die selbe Fehler meldung Sad
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 30.05.2013, 13:16     Titel:
  Antworten mit Zitat      
den grund für den fehler hat harald schon genannt. lies seinen beitrag nochmal
Private Nachricht senden Benutzer-Profile anzeigen
 
guguli
Themenstarter

Forum-Century

Forum-Century


Beiträge: 166
Anmeldedatum: 04.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.05.2013, 13:21     Titel:
  Antworten mit Zitat      
Ja ich weiss ich ruf die funktion immer wieder auf. aber wie kann ich das anders machen?? ALso so dass ich ich die funktion nur einmal aufrufe?

ICh stehe total auf dem Schlauch Sad
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 30.05.2013, 13:26     Titel:
  Antworten mit Zitat      
Hallo,

du musst die Funktion von außen (d.h. vom Command Window oder einem anderen Skript / einer anderen Funktion) aufrufen.

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

Forum-Century

Forum-Century


Beiträge: 166
Anmeldedatum: 04.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.05.2013, 13:30     Titel:
  Antworten mit Zitat      
versteh dich richtig,ich soll diese zeile :
Code:
kgrid =  test_environment (Nx, dx, Ny, dy, Nz, dz);

in der funtkion löschen und im command windows test_environment angeben????
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 30.05.2013, 15:10     Titel:
  Antworten mit Zitat      
Hallo guguli,

Überlege erst nochmal genau, was die Funktion machen soll:
Es sollen, wenn ich mal rate, Werte für die Variablen Nx, dx, Ny, dy, Nz, dz gesetzt werden. Dann benötigt die Funktion keine Inputs, sondern 6 Outputs:

Code:
function [Nx, dx, Ny, dy, Nz, dz] =  test_environment ()
Nx = 64;            
Ny = 64;            
Nz = 64;        
dx = 0.1e-3;    
dy = 0.1e-3;      
dz = 0.1e-3;  
end

Dies rufst Du dann aus dem Command-Window auf:
Code:
[Nx, dx, Ny, dy, Nz, dz] =  test_environment ()

Wie nun die Toolbox K-Wave und ein 3D grid ins Spiel kommt, weiß ich nicht.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
guguli
Themenstarter

Forum-Century

Forum-Century


Beiträge: 166
Anmeldedatum: 04.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.05.2013, 15:26     Titel:
  Antworten mit Zitat      
also ich hab das aus hier :
http://www.k-wave.org/documentation/example_ivp_3D_simulation.php

und genau sowas möchte ich auch konstruieren.

Sind da mehrere funktionen in einandern verschachtet???

Oder wie ist das gemeint???

THX
Private Nachricht senden Benutzer-Profile anzeigen
 
guguli
Themenstarter

Forum-Century

Forum-Century


Beiträge: 166
Anmeldedatum: 04.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.05.2013, 18:01     Titel:
  Antworten mit Zitat      
kann mir keiner helfen????


Bitte ich brauch paar tipps!
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 30.05.2013, 18:48     Titel:
  Antworten mit Zitat      
guguli hat Folgendes geschrieben:
kann mir keiner helfen????

dir kann schon geholfen werden du musst aber konkrete fragen stellen. bis jetzt hast du nur code geposstet der nichts anderes macht als sich selber aufzurufen. was natürlich zu einem fehler führt. stell konkrete fragen.
was hast du versucht. inwieweit weicht das ergebniss vom gewünschtem ergebniss ab. das verlinken auf eine seite auf der anderer code geposet ist der mit deinem wenig zu tun hat auf den ersten blick bringt da auch nix. wenn dir jemand alles programmieren soll solltest du dich an die rubrick "programmieraufträge" wenden.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 30.05.2013, 19:49     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
kann mir keiner helfen????

Es ist Feiertag. Da sollte man schon etwas mehr Geduld mitbringen.
Der von dir gepostete Link schlägt vor, die bestehende Funktion makeGrid aufzurufen. Warum rufst du stattdessen deine eigene Funktion auf?

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

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 31.05.2013, 01:59     Titel:
  Antworten mit Zitat      
Hallo guguli,

Zitat:
kann mir keiner helfen????

Dies ist ein "Bumping": Der Themenstarter pusht seine Frage wieder nach oben, ohne neue Informationen zu liefern.
Dies hat den Nachteil, dass die Leser, denen schon vor drei Stunden keine passende Antwort einfiel, die Frage nochmal lesen und natürlich immer noch keine Antwort kennen. Es raubt also Zeit.
Deshalb sehen die Forums-Regeln ein Bumping frühestens nach 24 Stunden vor: http://www.gomatlab.de/der-kleine-gomatlab-de-knigge-t125.html.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
guguli
Themenstarter

Forum-Century

Forum-Century


Beiträge: 166
Anmeldedatum: 04.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.05.2013, 10:29     Titel:
  Antworten mit Zitat      
also eine Konkrete Frage:
wie kann ich ein kgrid erstelen. Also Ich möchte gern eine Funktion mfile schreiben, dass wenn ich sie aufrufe eine 3d grid geplottet wird.
ich hab auch schon alles über Grid durch gelesen, weiss aber trotzdem nicht wie ich so ne funktion schreiben kann.

über einen Tipp würde mich sehr freuen.

THX
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

wie bereits in meinem letzten Post geschrieben verstehe ich die Anleitung so, dass man folgendes unverändert eingeben sollte:

Code:
% create the computational grid
Nx = 64;            % number of grid points in the x direction
Ny = 64;            % number of grid points in the y direction
Nz = 64;            % number of grid points in the z direction
dx = 0.1e-3;        % grid point spacing in the x direction [m]
dy = 0.1e-3;        % grid point spacing in the y direction [m]
dz = 0.1e-3;        % grid point spacing in the z direction [m]
kgrid = makeGrid(Nx, dx, Ny, dy, Nz, dz);


Ich würde zudem nicht erwarten, dass es hier zu jeder Toolbox, die irgendjemand irgendwann mal erstellt hat, jemanden gibt, der sich damit auskennt.
Da würde ich es für sinnvoller halten, sich an die Autoren der Toolbox oder an das Forum auf der Webseite zu wenden:
http://www.k-wave.org/forum/

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 - 2025 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.