⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 input-matrix3

📁 有限元程序
💻
字号:
/* ======================================================== *//* MATRIX OEPRATION III                                     *//*                                                          *//* Test basic matrix arithmetic                             *//* ======================================================== */print "============================\n";print "Test basic matrix arithmetic\n";print "============================\n\n";print "\n";print "=================\n";print "*** Copy a matrix\n";print "=================\n\n";X = [1.0 kN, 2.0 Pa, 3 m];Y = Copy(X);Z = X;PrintMatrix(X,Y,Z);print "\n";print "=========================================\n";print "*** Scale matrices by a physical quantity\n";print "=========================================\n\n";print "\n";print "*** Amplify matrix content by a factor of 2 (Example 1)\n";X = One([4]);X = ColumnUnits(X, [ksi, lbf, ksi, ft]);X = RowUnits(X, [psi, in, kips, lb]);Y = X*2;Z = 2*X;PrintMatrix(X, Y, Z);print "\n";print "*** Amplify matrix content by a factor of 2 in (Example 2)\n";Y = X*2 in;Z = (2 in)*X;PrintMatrix(X, Y, Z);print "\n";print "*** Reduce Matrix Content by a factor of 2 in (Example 3)\n";print "X [1][4] = ", X[1][4],"\n";Y = X/2 in;print "Y [1][4] = ", Y[1][4],"\n";PrintMatrix(X, Y);print "\n";print "====================\n";print "*** Matrix transpose\n";print "====================\n\n";print "*** Matrix transpose (Example 1)\n";Y = Trans(X);PrintMatrix(X, Y);print "\n";print "*** Matrix transpose (Example 2)\n";response = [ 0 sec, 0 cm/sec, 0 cm/sec^2 ;             1 sec, 2 cm/sec, 3 cm/sec^2 ];PrintMatrix( response );transpose1 = Trans(response);PrintMatrix( transpose1 );print "\n";print "============================================================\n";print "*** Maximum and minimum matrix elements                     \n";print "                                                            \n";print "    Min ( A )  Return a (1x1) matrix containing the minimum \n";print "               matrix element in matrix A.                  \n";print "                                                            \n";print "    Max ( A )  Return a (1x1) matrix containing the maximum \n";print "               matrix element in matrix A.                  \n";print "============================================================\n\n";A = [ 3.78,  9.7, -4.7,  10.50  ;      0.00, -5.8,  0.2,  -9.34] ;MaxValue = Max( A );MinValue = Min( A );PrintMatrix(A);print "\n";print "Max(A) =", MaxValue ,"\n";print "Min(A) =", MinValue ,"\n";print "\n";print "============================================================\n";print "*** Euclidean Norm                                          \n";print "                                                            \n";print "    L2Norm( A )  Compute L2 norm of either a (1xn) matrix   \n";print "                 or a (nx1) matrix.                         \n";print "============================================================\n\n";testVector = [ 1, 2, 3, 4 ];norm = L2Norm( testVector );PrintMatrix( testVector );print "\n";print "L2 norm of testVector is :", norm, "\n";print "\n";print "===================================\n";print "*** Matrix addition and subtraction\n";print "===================================\n\n";X = Diag([4, 1]);Y = One([4]);X = ColumnUnits(X, [ksi, ft, N, m]);Y = ColumnUnits(Y, [psi, in, kN,km]);X = RowUnits(X, [psi, in, kN, mm]);Y = RowUnits(Y, [ksi, ft, N, mm]);print "\n";print "*** Matrix addition\n\n";Z = X + Y;U = Y + X;PrintMatrix(X, Y, Z, U);print "\n";print "*** Matrix subtraction\n\n";Z = X - Y;U = Y - X;PrintMatrix(X, Y, Z, U);print "\n";print "==============================================\n";print "*** Matrix multiplication (without dimensions)\n";print "==============================================\n\n";X = [2, 3, 5; 4, 6, 7; 10, 2, 3];Z = One([3, 4]);Y = One([3, 1]);U = X*Z;V = X*Y;PrintMatrix(X, Y, Z, U, V);print "\n";print "===========================================\n";print "*** Matrix multiplication (with dimensions)\n";print "===========================================\n\n";X = ColumnUnits(X, [psi*in, psi*in, lbf]);X = RowUnits(X, [in], [3]);Y = RowUnits(Y, [ft, ft, rad]);U = X*Y;PrintMatrix(X, Y, U);print "\n";print "===============================================\n";print "*** Compute inverse of a non-dimensional matrix\n";print "===============================================\n\n";X = [3,    4,  5,  7,  9,  10;     1,    6,  7,  9, 20, 100;     11,  26, 47,  9,  2,  13;     12,   6, 87,  1,  3,  33;     11,   0,  1,  6, 31,   5;     81,  71,  2,  2,  1,  54];Y = Inverse(X);IL = X*Y;    /* left Identity Matrix  */IR = Y*X;    /* Right Identity Matrix */PrintMatrix(X, Y, IL, IR);print "\n";print "============================================\n";print "*** Compute inverse of a matrix having units\n";print "============================================\n\n";X = ColumnUnits(X, [N/m, N/m, N, N/m, N/m, N]);X = RowUnits(X, [m], [3]);X = RowUnits(X, [m], [6]);Y = Inverse(X);IL = X*Y;    /* left Identity Matrix  */IR = Y*X;    /* Right Identity Matrix */PrintMatrix(X, Y, IL, IR);print "\n";print "===============\n";print "*** End of Test\n";print "===============\n";quit;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -