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

Trigonometrische Funktionen

 

dero1690
Forum-Anfänger

Forum-Anfänger


Beiträge: 47
Anmeldedatum: 03.02.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.05.2014, 16:57     Titel: Trigonometrische Funktionen
  Antworten mit Zitat      
Moin Leute !

Wie im Quelltext ersichtlich, lasse ich von MATLAB zuerst eine Funktion symbolisch Berechnen und ersetze danach die symbolische Werte teilweise durch Zahlen.

Wie kann ich bewirken, dass beim Aufrufen der Funktion "phi" die trigonometrische Funktionen als Fließkommezahlen ausgegeben werden ?
z.B. nicht als cosh(9/4), sondern als 4.8 ?

Denn ich vermute, hier liegt das Problem für den 3d-Plot ( falls es nicht der Fall ist, wäre ich über jede weitere Anregung dankbar ! )

Vielen Dank und viele Grüße

Denys

Code:


syms a b x y G theta p
%   Definieren der symbolischen Variabeln

i=1;
phi=0;
for i=1:2:30
    phi=phi+4*b^2/(pi^3)*((-1)^((i-1)/2))/(i^3)*(1-cosh(i*y*pi/b)/cosh(i*pi*a/(2*b)))*cos(i*pi*x/b);
end;
%   Schleife zur Erstellung der Summe ( Spannungsfunktion ) bis zum Index
%   15

dreieck_phi=diff(phi,2,x)+diff(phi,2,y)
%   Nabla-Operator == 0 ( Bedingung an die Spannungsfunktion )

tau_z_x= 2*G*diff(phi,y);
tau_y_z= -2*G*diff(phi,x);
%   Berechnung der Spannungen
tau_z_x_x_plus_tau_y_z_y=diff(tau_z_x,x)+diff(tau_y_z,y)
%   Prüfen der 2. Bedingen an die Spannungsfunktion

phi=subs(phi,{a,b},{20,40})
[x,y] = meshgrid([-10:1:10,-20:1:20]);
phi=subs(phi,pi, 3,14);
phi=subs(phi)
mesh(x,y,phi);







 
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: 20.05.2014, 21:51     Titel:
  Antworten mit Zitat      
Hallo,

statt den letzten drei Zeilen kannst du
Code:
verwenden.

Ansonsten: dran denken, dass in MATLAB das Dezimaltrennzeichen Punkt, nicht Komma ist (also wenn 3.14 statt 3,14).

Wenn du mesh verwenden wolltest, müsstest du die Werte tatsächlich einsetzen (subs).

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 47
Anmeldedatum: 03.02.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.05.2014, 11:40     Titel:
  Antworten mit Zitat      
Hallo Harald !

Vielen Dank für deine Antwort. Stimmt, das eine KOmma war ein fehler bei mir, ich habe es jetzt berichtigt, doch ich bekomme immer noch ein Fehlermeldung, wenn ich das Skript ausführe.
Ich habe leider deine Ahnung, woran es liegen könnte.
Mein Idee ist folgende: die Funktion "phi" gibt am Ende Werte raus, die z.B. Ausdrücke wie cosh(7) haben, also keine numerischen Ausdrücke , vielleicht kann die "mesh" Funktion damit nichts anfangen ?

Hier ist nochmal die Fehlermeldung:

Zitat:

Error using graph3d.surfaceplot>localConstructor (line 92)
Invalid input arguments

Error in graph3d.surfaceplot (line 7)
h = localConstructor(varargin{:});

Error in mesh (line 158)
hh = graph3d.surfaceplot(x,y,z,'FaceColor',fc,'EdgeColor','flat', ...

Error in SUF2_1 (line 40)
mesh(x,y,phi);








Kann ich vielleicht irgendwo einstellen, dass z.b. die sin, cos, cosh..... usw. numerisch ausgewertet werden ?


Vielen Dank !

Denys
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: 22.05.2014, 13:39     Titel:
  Antworten mit Zitat      
Hallo,

wie gesagt:
Zitat:
Wenn du mesh verwenden wolltest, müsstest du die Werte tatsächlich einsetzen (subs).


Woher soll MATLAB denn sonst wissen, dass phi für die zuvor genannten x und y ausgewertet werden soll?

Einfacher ist aber wie gesagt ezmesh.

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.