Funktionen weiterverwenden < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 22:58 Mo 25.01.2010 | Autor: | Ultio |
Hallo an Alle,
Ich habe ein Problem: Ich will eine Splineinterpolation programmieren, dafür soll mir eine Funktion gegeben werden mit dessen Hilfe die Stützstellen berechnet werden sollen, das sieht so aus:
g=input('Bitte geben Sie eine Funktion für die Berechnung der Stützwerte an: g(x) = ', 's');
so das klappt soweit. Doch wie verwende ich sie weiter?
for i=1:n %Werte zu den Stützstellen berechnen
y(1, i)=g;
end
wie bekomme ich die Abhängigkeit von x
vielleicht so:
for i=1:n %Werte zu den Stützstellen berechnen
y(1, i)=g(x(1,i)); %x(1,i wären dann die Stützstellen)
end
aber das klappt irgendwie alles nicht daher Frage an euch und hoffe, dass ihr mir helfen könnt.
Dankeschön.
Gruß
|
|
|
|
> Hallo an Alle,
> Ich habe ein Problem: Ich will eine Splineinterpolation
> programmieren, dafür soll mir eine Funktion gegeben werden
> mit dessen Hilfe die Stützstellen berechnet werden sollen,
> das sieht so aus:
>
> g=input('Bitte geben Sie eine Funktion für die Berechnung
> der Stützwerte an: g(x) = ', 's');
>
> so das klappt soweit. Doch wie verwende ich sie weiter?
> for i=1:n %Werte zu den Stützstellen
> berechnen
> y(1, i)=g;
> end
> wie bekomme ich die Abhängigkeit von x
> vielleicht so:
> for i=1:n %Werte zu den Stützstellen
> berechnen
> y(1, i)=g(x(1,i)); %x(1,i wären dann die
> Stützstellen)
> end
> aber das klappt irgendwie alles nicht daher Frage an euch
> und hoffe, dass ihr mir helfen könnt.
> Dankeschön.
> Gruß
Hallo Felix,
ich sehe nicht, was für eine Programmiersprache das ist.
In Pascal könnte der entsprechende Programmabschnitt
etwa so aussehen:
function g(x:real):real;
begin
..... [mm] \{ Funktions-Definition \}
[/mm]
end;
for i:=1 to n do
begin
x[i]:= ..... ; [mm] \{ Formel\ zur\ Berechnung\ von\ x_i\ aus\ i \}
[/mm]
y[i]:= g(x[i])
end;
LG Al-Chw.
|
|
|
|
|
Status: |
(Frage) überfällig | Datum: | 07:32 Di 26.01.2010 | Autor: | Ultio |
Ich Trottel, tut mir Leid, ich meine matlab.
Wie würde das dann in Matlab aussehen.
Danke für den Hinweis.
Gruß
|
|
|
|
|
> Wie würde das dann in Matlab aussehen.
da kenn ich mich nicht genau aus
doch es sollte leicht sein, das umzusetzen ...
natürlich sieht die for-Schleife etwas anders aus,
und die Bezeichnungen kannst du auch passend
abändern (ev. runde statt eckige Klammern und
den zweiten Index den du noch hattest, bei dem
ich aber nicht begriff wozu er dienen sollte)
LG
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 11:38 Di 26.01.2010 | Autor: | Ultio |
Hallo, vielen Dank erstmal für die Antworten. Also mein Programm startet so:
%Gegebene Werte eingeben
n=input('Bitte geben Sie die Anzahl der Stützstellen ein: ');
x=zeros(1,n);
x(1,1)=input('Welchen Wert hat die kleinste Stelle : ' );
x(1,n)=input('Welchen Wert hat die größte Stelle: ');
g=input('Bitte geben Sie eine Funktion für die Berechnung der Stützwerte an: g(x) = ', 's')
y=zeros(1,n);
h=(x(1,n)-x(1,1))/(n-1); %Stützstellen äquidistant berechnen
for i=2:n-1
x(1,i)=x(1,i-1)+h;
end
dabei ist x(1,n) als Stützstelle definiert, mit der 1 habe ich sozusagen transponierten Vektor an der n-ten stelle das x, damit will ich mir das später in der rechnung einfacher machen.
Werte zu Stützstellen:
for i=1:n %Werte zu den Stützstellen berechnen
y(1, i)=g(x(1,i));
end
aber das scheint irgendwie nicht so zu funktionieren, oder ist das doch richtig?
|
|
|
|
|
Hallo Ultio,
soweit ich sehe, sollte das wohl richtig sein; doch
wie gesagt, wirklich auskennen tu ich mich in
Matlab nicht ...
LG Al-Chw.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 08:20 Fr 29.01.2010 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|