📄 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 + -