Du bist nicht eingeloggt! Möglicherweise kannst du deswegen nicht alles sehen.
  (Noch kein mods.de-Account? / Passwort vergessen?)
Zur Übersichtsseite
Hallo anonymer User.
Bitte logge dich ein
oder registriere dich!
 Moderiert von: Irdorath, statixx, Teh Wizard of Aiz


 Thema: Verwirrendes Problem mit Scilab ( muss in t - 50 Minuten fertig sein )
erste ungelesene Seite | letzter Beitrag 
eX-blood

tf2_medic.png
unglaeubig gucken muss in t - 50 Minuten fertig sein
Ich wünsche einen wunderschönen guten Abend liebe Forengemeinde.

Ich habe hier ein 'kleines' Problem mit einer zu lösenden Mathematik Aufgabe. Das ganze soll mit Scilab verwirklicht werden. Leider (ja, ich hätte es schon früher machen können) sollte das eigentlich kein größeres Problem darstellen (auch wenn ich kein Scilab Genie bin, eher das Gegenteil), aber nun stehe ich vor einem Scherbenhaufen.

Ich muss das ganze um spätestens 23:00 Uhr ins Postfach meines Profs schicken, sonst hab ich die Arschkarte gezogen

Es geht nicht selbst um die Mathematische Aufgabenstellung, sondern über die absolut verwirrende Fehlermeldung von Scilab, die lautet ...

 
-->Resol_Iter(M, N, b, u0, eps)
!--error 266
A und B haben die selbe Anzahl an Spalten.

at line 44 of function Resol_Iter called by :
Resol_Iter(M, N, b, u0, eps)



Ja, nur welches verdammtes A und B? Diese Variablen kommen nicht einmal in der Funktion vor:

 

function [u] = Resol_Iter (M,N,b,u0,eps)

//présuppositions

S = size(M); // dimension de M dans S; S(1) est la nombre des lignes, S(2) la nombre des colonnes
T = size(N);

if S(1) <> S(2) then // si la nombre des lignes n'est pas la meme que celle des colonnes, la matrice n'est pas carrée
disp("Erreur: La matrice M n´est pas carrée => pas inversible!");
return;
end

if T(1) <> S(1) then
disp("Erreur: La matrice N n`a pas la meme taille que M!")
elseif T(2) <> S(1) then
disp("Erreur: La matrice N n X´pas la meme taille que M!") //M-N ne peut pas etre calculée
return;
end

if det(M) == 0 then // si la determinant est égal à 0, la matrice n'est pas inversible
disp("Erreur: La matrice M n´est pas inversible!");
return;
end

if length(b) <> S(1) then // la dimension du vecteur b doit etre S(1) x 1
disp("Erreur: La multiplication avec b n`est pas possible!");
return;
end

if det(M-N) == 0 then // si la determinant est égal à 0, la matrice n'est pas inversible
disp("Erreur: La matrice A = M-N n´est pas inversible!");
return;
end

if length(u0) <> S(1) then // la dimension du vecteur u0 doit etre S(1) x 1
disp("Erreur: La multiplication avec u0 n`est pas possible!");
return;
end


//calculation de u(k+1)= inv(M)*N* u(k) + inv(M) * b pour résoudre Au=b

u = ones(S(1),1)
u = (N*u0+b)/M
Niter = 1

while norm(u - u0) > eps
u = u0
u = (N*u0+b)/M
Niter= Niter + 1
end

disp(Niter)
endfunction




Falls ihr den Fehler reproduzieren wollt, Werte für die Variablen:
M = [1,2,0;2,3,0;3,4,1]
N = [1,2,5;-6,4,0;3,3,1]
b = [1;5;5]
u0 = [3;3;4]
eps = 0.01




Vielen Dank für die Aufmerksamkeit,
und einen stressfreien Abend
[Dieser Beitrag wurde 3 mal editiert; zum letzten Mal von eX-blood am 30.11.2009 22:33]
30.11.2009 22:17:58  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
mc.smurf

tf2_soldier.png
Welche Zeile is Zeile 44? Nein, ich zähl jetz nich ab und guck auch nich nach
30.11.2009 22:20:52  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
mika

AUP mika 25.07.2008
Ihh, das ist ja französisch! traurig
30.11.2009 22:23:39  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
eX-blood

tf2_medic.png
 
Zitat von mc.smurf

Welche Zeile is Zeile 44? Nein, ich zähl jetz nich ab und guck auch nich nach



fett und kursiv
30.11.2009 22:25:36  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Wampor

Leet
amuesiert gucken
Das ist ja ein knorke Prof, so spät noch letzte Abgabetermine zu setzen.
30.11.2009 22:26:18  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
mc.smurf

tf2_soldier.png
Ich sehe eine Vektor-Matrix-Division, geht das... Mata halt...
30.11.2009 22:28:04  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Sabin*

Arctic
Was soll das Programm denn machen?
30.11.2009 22:29:41  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
[KoM]TingelTangelBob

AUP [KoM]TingelTangelBob 14.02.2008
Ist das nicht die Fehlermeldung? (nur eben auf französisch und mit anderen Bezeichnungen. fröhlich)

if T(1) <> S(1) then
disp("Erreur: LX mXtrice N n`X pXs lX meme tXille que M!")
30.11.2009 22:30:09  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
mc.smurf

tf2_soldier.png
 
Zitat von Sabin*

Was soll das Programm denn machen?



Ich würde sagen iterativer Solver für irgendwas
30.11.2009 22:31:06  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
SpeedportW700V

xmas female arctic
Ich glaube, die Fehlermeldung ist falsch übersetzt.

Laut manual ist error 266 nämlich

266 "A and B must have equal number of columns."

Das Problem ist also das genaue Gegenteil, er kann nicht rechnen, weil die Spaltenanzahl unterschiedlich ist.
30.11.2009 22:31:25  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
eX-blood

tf2_medic.png
 
Zitat von SpeedportW700V

Ich glaube, die Fehlermeldung ist falsch übersetzt.

Laut manual ist error 266 nämlich

266 "A and B must have equal number of columns."

Das Problem ist also das genaue Gegenteil, er kann nicht rechnen, weil die Spaltenanzahl unterschiedlich ist.




aber wo? was ist A und B?


Sorry, ich habe automatisiert alle A durch X ersetzt, damit ich absolut ausschließen kann, dass kein A drin vorkommt, editiers grad zurück ...
30.11.2009 22:34:43  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
[KoM]TingelTangelBob

AUP [KoM]TingelTangelBob 14.02.2008
 
Zitat von SpeedportW700V

Ich glaube, die Fehlermeldung ist falsch übersetzt.

Laut manual ist error 266 nämlich

266 "A and B must have equal number of columns."

Das Problem ist also das genaue Gegenteil, er kann nicht rechnen, weil die Spaltenanzahl unterschiedlich ist.



Sollte dann das sein, oder?

if T(1) <> S(1) then
disp("Erreur: LX mXtrice N n`X pXs lX meme tXille que M!")

e: wenn "taille" nun Breite ist, also Spaltenanzahl, könnte es sogar passen fröhlich
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von [KoM]TingelTangelBob am 30.11.2009 22:36]
30.11.2009 22:34:56  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Sabin*

Arctic
Ich kann mir vorstellen, dass es ein kommutatives Problem ist. Du berechnest: u = (N*u0+b)/M

zuerst also y=(N*u0+b) wo ein 3x1 Vektor rauskommst. dann willts du den mit dem inversen multiplizeren, wenn ich das richtig sehe.

y*M^(-1) und das geht nicht?

du willst:

M/(N*u0+b)

da stehen haben Augenzwinkern
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Sabin* am 30.11.2009 22:43]
30.11.2009 22:39:54  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
eX-blood

tf2_medic.png
 
Zitat von Sabin*

Ich kann mir vorstellen, dass es ein kommutatives Problem ist. Du berechnest: u = (N*u0+b)/M

zuerst also y=(N*u0+b) wo ein 3x1 Vektor rauskommst. dann willts du den mit dem inversen multiplizeren, wenn ich das richtig sehe.

y*M^(-1) und das geht nicht?



Zeile 44 ersetzt durch:
 

z = N*v+b
disp(z)
disp(M)
u = z/M



ergibt:
 

30.
-1.
27.

1. 2. 0.
2. 3. 0.
3. 4. 1.
!--error 266

...



Okay, somit is klar, wo das Problem ist.
Laut Prof sollen wir aber ausdrücklichst den / Operator benutzen



Vielen Dank für die zahlreichen Antworten!
30.11.2009 22:45:17  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Sabin*

Arctic
Wenn ich das richtig gelesen habe in der pdf: M/(N*u0+b).
30.11.2009 22:47:04  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
eX-blood

tf2_medic.png
ich habe ja M⁽⁻¹⁾
dann teile ich durch M, also /M nicht M/
30.11.2009 22:53:08  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Sabin*

Arctic
Du willst ja

Mx = (N*u0+b)

äquivalent zu_

x = M^(-1)*(N*u0+b)

und das geht laut:

http://hkumath.hku.hk/~nkt/Scilab/IntroToScilab.html#Dealing

mit

M/(N*u0+b)
30.11.2009 22:57:21  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Dr. Schlauschlau

AUP Dr. Schlauschlau 30.01.2011
Durchbekommen?
30.11.2009 23:01:26  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Wampor

Leet
Na, hat's geklappt? (-:
30.11.2009 23:03:42  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
eX-blood

tf2_medic.png
 
Zitat von Sabin*

Du willst ja

Mx = (N*u0+b)

äquivalent zu_

x = M^(-1)*(N*u0+b)

und das geht laut:

http://hkumath.hku.hk/~nkt/Scilab/IntroToScilab.html#Dealing

mit

M/(N*u0+b)



Many Thanks!!!!!

Ich habe immer / anstatt \ benutzt, omg.


Es ist raus Ihr seids die Besten
30.11.2009 23:06:06  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Gynäkologe

X-Mas Arctic
traurig gucken
aber 6 minuten zu spät,nech?
30.11.2009 23:07:36  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
eX-blood

tf2_medic.png
 
Zitat von Gynäkologe

aber 6 minuten zu spät,nech?



in Frankreich geht die Zeit langsamer Breites Grinsen, das passt schon
30.11.2009 23:08:49  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
mika

AUP mika 25.07.2008
 
Zitat von eX-blood

Frankreich



Glück für dich, dass du das erst jetzt sagst.. Breites Grinsen
30.11.2009 23:09:37  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Sabin*

Arctic
Für welches Fach muss man denn sowas lösen? Ah verdammt ich hab auch / benutzt
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Sabin* am 30.11.2009 23:10]
30.11.2009 23:09:38  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Wampor

Leet
...
 
Zitat von mika

 
Zitat von eX-blood

Frankreich



Glück für dich, dass du das erst jetzt sagst.. Breites Grinsen


Was für eine garstige List...
30.11.2009 23:12:45  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
eX-blood

tf2_medic.png
 
Zitat von Sabin*

Für welches Fach muss man denn sowas lösen? Ah verdammt ich hab auch / benutzt



numerik



sagt mal leute, glaubt ihr wirklich ich schreibe die Comments weil ich lustig bin auf Französisch? Breites Grinsen
30.11.2009 23:18:23  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Gurkenmarmelade

AUP Gurkenmarmelade 24.10.2010
Augenzwinkern

klickbar.


¤ jaja ich weiss dein Mitbewohner, aber der Zusammenhang is schon lustig... find ich :/
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Gurkenmarmelade am 30.11.2009 23:20]
30.11.2009 23:20:02  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
eX-blood

tf2_medic.png
 
Zitat von Gurkenmarmelade

Augenzwinkern

klickbar.


¤ jaja ich weiss dein Mitbewohner, aber der Zusammenhang is schon lustig... find ich :/



dann ist es aber im falschen thread Augenzwinkern
30.11.2009 23:43:18  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Gurkenmarmelade

AUP Gurkenmarmelade 24.10.2010
Im anderen wurds ja schon angesprochen :/
30.11.2009 23:49:08  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
 Thema: Verwirrendes Problem mit Scilab ( muss in t - 50 Minuten fertig sein )


mods.de - Forum » Public Offtopic » 

Hop to:  

| tech | impressum