lisp2arx
Visual Programming for AutoLisp Mathématiques en programmation Lisp.. doc2cpp,doc2lsp, sld2lsp, bmp2dcl, free__GifCcapture for all-CAD'platforms..
Lista Forumurilor Pe Tematici
lisp2arx | Reguli | Inregistrare | Login

POZE LISP2ARX

Nu sunteti logat.
Nou pe simpatie:
brunetyk_20 la Simpatie.ro
Femeie
25 ani
Vrancea
cauta Barbat
26 - 52 ani
lisp2arx / Abecedar Scolar / dos_matrix  
Autor
Mesaj Pagini: 1
admin
Administrator

Din: Bucharest
Inregistrat: acum 14 ani
Postari: 519


Code:

{$region Matrix}
  begin
    var a:=new Matrix(3,4,-2,4,0,3,6,11,-5,7,0,8,-4,1);
    a.SetRow(new Vector(a.Row(2).Value.Select(x->x-2).ToArray),2);
    a.MultCol(1,3);
    var vb:=new Vector(1,-1,0,2);
    a.InsertRowBefore(vb,3);
    a.SwapRows(2,3);
    a.SwapCols(1,3);
    a:=a.Transpose;
    var Atr:=a.Inv;
    var d:=254.0;
    var x:=new Matrix(4,4,173/d,83/d,27/d,28/d,-426/d,-222/d,-112/d,72/d,
        122/d,60/d,44/d,8/d,-277/d,-105/d,-77/d,-14/d);
    TestMatrixM('Matrix 1',Atr,x,1e-14);
  
    a:=new Matrix(2,4,-3,0,4,-1,2,-7,5,6);
    var b:=new Matrix(2,3,8,1,-5,6,7,2);
    var c:=new Matrix(3,4,1,-1,7,0,3,2,9,4,5,0,-2,-4);
    var r:=(((a-b*c).Transpose)*a).Det;
    TestMatrixS('Matrix 2',r,0.0,1e-15);
    
    a:=new Matrix(3,3,2,3,-1,1,-2,1,1,0,2);
    vb:=new Vector(9,3,2);
    var vr:=a.Inv*vb;
    TestMatrixV('Matrix 3',vr,new Vector(4,0,-1),1e-15);
    
    vr:=new Vector(vb.Length);
    var det:=a.Det;
    for var i:=0 to vb.Length-1 do begin
      var t:=a.Copy;
      t.SetCol(vb,i,0);
      var detx:=t.Det;
      vr.Value[i]:=detx/det;
    end;
    TestMatrixV('Matrix 4',vr,new Vector(4,0,-1),1e-15);
    
    var cond:real;
    vr:=A.SLAU(vb,cond);
    TestMatrixV('Matrix 5.1',vr,new Vector(4,0,-1),1e-15);
    TestMatrixS('Matrix 5.2',cond,1.97935318837932,1e-14);

    Writeln(nt:2,'. Проверка класса Matrix завершена');
    nt+=1
  end;  {$endregion}



_______________________________________


pus acum 3 ani
   
Pagini: 1  

Mergi la