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

problem mit symb Funktionen

 

Hitzi

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.07.2008, 10:36     Titel: problem mit symb Funktionen
  Antworten mit Zitat      
Code:

function k = poly(m)

syms x n;
f = @(a,b) a^b;
f(x,n)

for i=0:m
    u(x,i)=f(x,i)
    for j=0:(i-1)
        a(i,j)= int(f(x,i)*b(x,j),x,0,5)/int(b(x,j)*b(x,j),x,0,5)
        u(x,i) = u(x,i) - a(i,j)*u(x,j)
    end
    b(x,i)=u(x,i)/int(u(x,i)*u(x,i),x,0,5)
end
 


orthonormaliserung der Polynome auf 0,5
er wirft mir einen Fehler aus bei u = f. Kann mir einer den Grund erklähren und sagen, wie man das umgeht? kann man den Rest so lassen?

danke
er wirft mir einen Fehler aus bei u(x,i) = f(x,i)


nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.318
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 08.07.2008, 10:54     Titel: Re: problem mit symb Funktionen
  Antworten mit Zitat      
Hitzi hat Folgendes geschrieben:

er wirft mir einen Fehler aus bei u(x,i) = f(x,i)

Weil x symbolisch ist.
_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Hitzi

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.07.2008, 11:14     Titel:
  Antworten mit Zitat      
wenn ich das x durch ein t ersetze geht es auch nicht.

warum ist das ein Problem, daß x symbolisch ist?

ich denke man sieht ja mein Problem. ich verstehe nicht, wie dieses System aufgebaut ist. Was genau versteht man unter symbolisch?

erklährt es mir doch bitte, ich bekomme ständig nur variablenfehler.
 
nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.318
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 08.07.2008, 14:24     Titel:
  Antworten mit Zitat      
Wenn Du in Matlab etwas wie A(x) schreibst bedeutet das einen Zugriff auf das x-te Element von A.
A ist sozusagen eine Liste von n Elementen, und x eine ganze Zahl 1<x<=n.
Man nennt das auch Index.
Du kannst z.B. so eine Liste der Quadrate der ersten 10 ganzen Zahlen anlegen:
Code:

zahlen=1:10
quadrate=zahlen.^2
quadrate(5) % Zugriff auf das fünfte Element der Liste
 

So eine Liste mit einem Index kann als Vektor interpretiert werden, Du kannst aber auch zwei Indizes benutzen, z.B. um eine Matrix abzubilden:
Code:

A=magic(5)
A(2,3) % Element in Zeile 2 und Spalte 3
A(3,:); % Alle Elemente in Zeile 3
 

Für den Zugriff per Index brauchst Du eine ganze Zahl, eine Variable vom Typ sym ist es nicht, die kann nicht als Index benutzt werden.

Der Unterschied zwischen numerischer und symbolischer Rechnung wird z.B. an folgendem Beispiel deutlich:
Es soll das Integral von x = 0 bis 2 Pi über sin(x) gebildet werden.
Code:
clear all;
clc;

% numerisch
x=0:0.1:2*pi;
y=sin(x);
integral_numerisch=trapz(x,y)

% symbolisch
syms x;
y=sin(x);
integral_symbolisch=int(y,x,0,2*pi)
stammfunktion=int(y,x)


Die numerische Version rechnet nur mir Zahlen, d.h. es werden diskrete x- und y-Werte vorausgesetzt. Die Abweichung des Ergebnis vom wirklichen Wert hängt dabei von der Schrittweite ab, hier 0.1.
Bei symbolischer Rechnung nutzt Matlab die Regeln der Termumformung und eine ganze Reihe von Vereinfachungen. Es ist sogar möglich, eine Stammfunktion zu finden.

Das sind recht elementare Dinge, lies Dir mal ein paar Einführungen zu Matlab durch. Einige findest Du hier
_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
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.