Freemat - Vorwärtseinsetzen |
02.01.2017, 18:58 | CasioXX | Auf diesen Beitrag antworten » | |||||||
Freemat - Vorwärtseinsetzen Hi, kennt sich hier vielleicht jemand mit Freemat aus und kann mir bei folgender Aufgabe weiterhelfen? Man soll einen zufällige n×n untere Dreiecksmatrix L sowie einen zufälligen Vektor b erstellen und dazu ein Programm zum Vorwärtseinsetzen schreiben. Danach soll das erstellte Programm für verschiedene Werte von n getestet werden und die Lösung durch das Residuum Lx - b bzw. dessen Norm (z.B. die Maximumsnorm) überprüft werden. Meine Ideen: Bei mir sieht es so aus, aber leider kommt immer wieder Error. n=input('n=') M = rand(n); L = tril(M); b = rand(n,1); x = zeros(n,1); x(1) = b(1)/L(1,1); for i=2:n x(i) = (b(i)-L(i,1:i-1)*x(1:i-1))/L(i,i); end; x=x v=norm(L*x-b,inf) Kann mir jemand weiterhelfen? |
|||||||||
08.01.2017, 07:11 | Ulrich Ruhnau | Auf diesen Beitrag antworten » | |||||||
RE: Freemat - Vorwärtseinsetzen Ich habe dein Progrämmchen leicht umgewandelt und in Matlab getestet. Es lief einwandfrei und mit kam heraus. function [ x, v ] = drei( n ) %n=input('n=') M = rand(n); L = tril(M); b = rand(n,1); x = zeros(n,1); x(1) = b(1)/L(1,1); for i=2:n x(i) = (b(i)-L(i,1:i-1)*x(1:i-1))/L(i,i); end; x=x; v=norm(L*x-b,inf); end Aufruf mit [x,v]=drei(5); |
|||||||||
08.01.2017, 07:39 | Dopap | Auf diesen Beitrag antworten » | |||||||
RE: Freemat - Vorwärtseinsetzen
Auch wenn es lästig ist: oder
|
|
Verwandte Themen
Die Beliebtesten » |
Die Größten » |
Die Neuesten » |