精华内容
下载资源
问答
  • 二阶三阶行列式 ,可以用来求解二元或三元一次方程组。温习行列式算法,如三角法等。
  • 菜鸟实现 PHP 二阶三阶行列式计算和矩阵运算的加、减、乘 1 <?php 2 3 //三阶行列式计算 函数名嘛,看懂就好 4 function sanjie($array){ 5 $k=$array[0]*$array[4]*$array[8]*+$...
      1 <?php
      2 
      3 //三阶行列式计算      函数名嘛,看懂就好
      4 function sanjie($array){
      5  $k=$array[0]*$array[4]*$array[8]*+$array[1]*$array[5]*$array[6]*+$array[2]*$array[3]*$array[7]-($array[2]*$array[4]*$array[6]*+$array[1]*$array[3]*$array[8]*+$array[0]*$array[5]*$array[7]);
      6     echo $k;
      7     echo "<br />";
      8 }
      9 
     10 //二阶行列式计算
     11 function erjie($array){
     12 
     13     $k=$array[0]*$array[3]-$array[1]*$array[2];
     14     echo $k;
     15     echo "<br />";
     16 }
     17 
     18 
     19 //矩阵运算  加法
     20 function juzhen_plus($array1,$b,$array2){  //b是列数
     21 
     22     $n=count($array1);
     23     $c=array();
     24     for ($i=0;$i<$n;$i++){
     25 
     26         $c[$i]=$array1[$i]+$array2[$i];
     27 
     28     }
     29     echo "|";
     30     for ($i=0;$i<$n;$i++){
     31         $j=$i+1;
     32         echo $c[$i];
     33         echo " ";
     34         if($j%$b==0){
     35             echo "|";
     36             echo "<br />";
     37             if ($i!=($n-1))
     38                 echo "|";
     39         }
     40 
     41     }
     42     echo "<br />";
     43 }
     44 
     45 
     46 //矩阵运算  减法
     47 function juzhen_sub($array1,$b,$array2){
     48 
     49     $n=count($array1);
     50     $c=array();
     51     for ($m=0;$m<$n;$m++){
     52 
     53         $array2[$m]=0-$array2[$m];
     54 
     55     }
     56     for ($i=0;$i<$n;$i++){
     57 
     58         $c[$i]=$array1[$i]+$array2[$i];
     59 
     60     }
     61     echo "|";
     62     for ($i=0;$i<$n;$i++){
     63         $j=$i+1;
     64         echo $c[$i];
     65         echo " ";
     66         if($j%$b==0){
     67             echo "|";
     68             echo "<br />";
     69             if ($i!=($n-1))
     70                 echo "|";
     71         }
     72 
     73     }
     74     echo "<br />";
     75 }
     76 
     77 
     78 //矩阵运算  矩阵X矩阵
     79 function juzhen_mult_ju($array1,$a,$b,$array2,$d,$e){
     80     $c=array();
     81     if ($b==$d){
     82 
     83          for ($i=0;$i<$a;$i++){
     84              for ($j=0;$j<$e;$j++){
     85                  for ($s=0;$s<=$b;$s++){
     86                      $c[$i][$j]=$c[$i][$j]+$array1[$i][$s]*$array2[$s][$j];
     87                  }
     88              }
     89          }
     90 
     91          echo "|";
     92          for ($h=0;$h<$a;$h++){
     93              for ($f=0;$f<$e;$f++){
     94                  echo $c[$h][$f];
     95                  echo " ";
     96                  if($f==($e-1)){
     97                      echo "|";
     98                      echo "<br />";
     99                      if ($h!=($a-1))
    100                          echo "|";
    101                  }
    102 
    103              }
    104          }
    105 
    106     }
    107     else{
    108         echo "这两个矩阵无法相乘!";
    109     }
    110     echo "<br />";
    111 }
    112 
    113 
    114 
    115 //矩阵运算  常数X矩阵
    116 function juzhen_mult_shu($array1,$b,$d){
    117 
    118     $n=count($array1);
    119     $c=array();
    120     for ($i=0;$i<$n;$i++){
    121 
    122         $c[$i]=$array1[$i]*$d;
    123 
    124     }
    125     echo "|";
    126     for ($i=0;$i<$n;$i++){
    127         $j=$i+1;
    128         echo $c[$i];
    129         echo " ";
    130         if($j%$b==0){
    131             echo "|";
    132             echo "<br />";
    133             if ($i!=($n-1))
    134                 echo "|";
    135         }
    136 
    137     }
    138 
    139     echo "<br />";
    140 }
    141 
    142 
    143 
    144 $array1=array(5,15,6,7);//用作二阶行列式
    145 $array2=array(5,15,6,7,2,1,5,6,7);//用作三阶行列式
    146 $array3=array(100,15,6,35,35,5);//用作3行2列
    147 $array4=array(5,5,6,7,50,5);//2行3列或作3行2列来用
    148 
    149 $array5=array  
    150 (
    151     array(10,1),
    152     array(6,3),
    153     array(5,7)
    154 );
    155 //$array6=array(5,5,6,7,5,5,8,6);
    156 $array6=array
    157 (
    158     array(5,5,6,7),
    159     array(8,9,2,6)
    160 );
    161 
    162 sanjie($array2);
    163 erjie($array1);
    164 juzhen_plus($array3,2,$array4);//
    165 juzhen_sub($array3,2,$array4);//
    166 juzhen_mult_ju($array5,3,2,$array6,2,4);//
    167 juzhen_mult_shu($array3,3,3);//

      运算结果如下:

     

     

      除法的话,放在下一篇。

      上述代码纯属菜鸟练手之作。

      在得知更好的方法之前不妨先用最笨的方法试试,加深印象。

      哈哈,欢迎吐槽。

    posted on 2019-07-08 00:12 ASLMULY 阅读( ...) 评论( ...) 编辑 收藏

    转载于:https://www.cnblogs.com/aslmuly/p/11148941.html

    展开全文
  • 本篇笔记从解方程组开始,并引入一种新运算,然后了解二阶行列式和三阶行列式相关定义,如元素、行标、列标、主对角线、次对角线等。同时为了研究行列式展开项与元素下标之间的关系,还引入了排列、逆序、逆序数、奇...

    本篇笔记从解方程组开始,并引入一种新运算,然后了解二阶行列式和三阶行列式相关定义,如元素、行标、列标、主对角线、次对角线等。同时为了研究行列式展开项与元素下标之间的关系,还引入了排列、逆序、逆序数、奇排列、偶排列、标准排列、自然排列、N级标准排列以及对换等概念。

    1 方程组

    { 5 x + 6 y = 7 ① 9 x + 4 y = 3 ② \begin{cases} 5x+6y=7\qquad①\\ 9x+4y=3\qquad②\\ \end{cases} {5x+6y=79x+4y=3

    ① × 9 、 ② × 5 ①×9、②×5 ×9×5得:
    { 5 × 9 x + 6 × 9 y = 7 × 9 ③ 9 × 5 x + 4 × 5 y = 3 × 5 ④ \begin{cases} 5×9x+6×9y=7×9\qquad③\\ 9×5x+4×5y=3×5\qquad④\\ \end{cases} {5×9x+6×9y=7×99×5x+4×5y=3×5

    ③ − ④ ③-④ 得:
    ( 5 × 4 − 6 × 9 ) y = 3 × 5 − 7 × 9 (5×4-6×9)y=3×5-7×9 (5×46×9)y=3×57×9

    解得:
    y = 3 × 5 − 7 × 9 5 × 4 − 6 × 9 ⑤ y=\frac{3×5-7×9}{5×4-6×9}\qquad⑤ y=5×46×93×57×9

    同理可得:
    x = 7 × 4 − 6 × 3 5 × 4 − 6 × 9 ⑥ x=\frac{7×4-6×3}{5×4-6×9}\qquad⑥ x=5×46×97×46×3

    通过观察上述 ⑤ , ⑥ ⑤, ⑥ ,的值可以发现,分子和分母都是四个数分别为:两两先相乘,再相减

    2 定义一种新运算

    通过左右两条竖线,中间放入四个数字,表示对角线上数字先相乘再相减,定义以下运算:
    ∣ a b c d ∣ = a d − c b \begin{vmatrix} a&b\\ c&d\\ \end{vmatrix} =ad-cb acbd=adcb

    上述 x , y x, y x,y可表示为:
    { x = 7 × 4 − 6 × 3 5 × 4 − 6 × 9 = ∣ 7 3 6 4 ∣ ∣ 5 9 6 4 ∣ y = 3 × 5 − 7 × 9 5 × 4 − 6 × 9 = ∣ 3 9 7 5 ∣ ∣ 5 9 6 4 ∣ \begin{cases} x=\frac{7×4-6×3}{5×4-6×9}= \frac{ \begin{vmatrix} 7&3\\ 6&4\\ \end{vmatrix}}{ \begin{vmatrix} 5&9\\ 6&4\\ \end{vmatrix} }\\\\ y=\frac{3×5-7×9}{5×4-6×9}= \frac{ \begin{vmatrix} 3&9\\ 7&5\\ \end{vmatrix}}{ \begin{vmatrix} 5&9\\ 6&4\\ \end{vmatrix} } \end{cases} x=5×46×97×46×3=56947634y=5×46×93×57×9=56943795

    3 二阶行列式

    二阶行列式由4个数写成2行和2列,并在左右两边加上竖线组成。
    ∣ a 11 a 12 a 21 a 22 ∣ \begin{vmatrix} a_{11}&a_{12}\\ a_{21}&a_{22}\\ \end{vmatrix} a11a21a12a22

    行列式表示一个数,上述二阶行列式的值为: a 11 a 22 − a 12 a 21 a_{11}a_{22}-a_{12}a_{21} a11a22a12a21

    元素:每个元素使用 a i j a_{ij} aij表示。
    行标 i i i为行标,表示第几行。
    列标 j j j为列标,表示第几列。
    主对角线:\,从左上角到右下角。
    次对角线:/,从左下角到右上角。

    举例:
    ∣ 1 7 9 3 ∣ = 1 × 3 − 9 × 7 \begin{vmatrix} 1&7\\ 9&3\\ \end{vmatrix} =1×3-9×7 1973=1×39×7

    ∣ m n a b ∣ = m b − a n \begin{vmatrix} m&n\\ a&b\\ \end{vmatrix} =mb-an manb=mban

    ∣ λ − 1 1 2 λ ∣ = λ ( λ − 1 ) − 1 × 2 \begin{vmatrix} \lambda-1&1\\ 2&\lambda\\ \end{vmatrix} =\lambda(\lambda-1)-1×2 λ121λ=λ(λ1)1×2

    ∣ 爱 子 辈 你 ∣ = 爱 你 − 辈 子 \begin{vmatrix} 爱&子\\ 辈&你\\ \end{vmatrix} =爱你-辈子 =

    4 三阶行列式

    三阶行列式也可以由方程组推出。它由9个数写成3行和3列,并在左右两边加上竖线组成。
    ∣ a 11 a 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 ∣ \begin{vmatrix} a_{11}&a_{12}&a_{13}\\ a_{21}&a_{22}&a_{23}\\ a_{31}&a_{32}&a_{33}\\ \end{vmatrix} a11a21a31a12a22a32a13a23a33

    三阶行列式也可按照二阶行列式的划线法(对角线展开法)方式求值,其值为:
    a 11 a 22 a 33 + a 12 a 23 a 31 + a 13 a 21 a 32 − a 13 a 22 a 31 − a 12 a 21 a 33 − a 11 a 23 a 32 a_{11}a_{22}a_{33}+a_{12}a_{23}a_{31}+a_{13}a_{21}a_{32}-a_{13}a_{22}a_{31}-a_{12}a_{21}a_{33}-a_{11}a_{23}a_{32} a11a22a33+a12a23a31+a13a21a32a13a22a31a12a21a33a11a23a32

    总共有6项,其中主对角线方向3项为正数,次对角线方向3项为负数。

    举例:
    ∣ λ 1 0 1 λ 1 0 0 1 ∣ = λ × λ × 1 + 1 × 1 × 0 + 1 × 0 × 0 − 0 × λ × 0 − 1 × 1 × 0 − 0 × 1 × λ \begin{vmatrix} \lambda&1&0\\ 1&\lambda&1\\ 0&0&1\\ \end{vmatrix} =\lambda×\lambda×1+1×1×0+1×0×0-0×\lambda×0-1×1×0-0×1×\lambda λ101λ0011=λ×λ×1+1×1×0+1×0×00×λ×01×1×00×1×λ

    5 一些概念

    为了解理N阶行列式,引入以下概念:
    排列:由 1 , 2 , . . . , n 1, 2, ..., n 1,2,...,n组成的一个有序数组叫n级排列。

    例如:
    123 123 123
    132 132 132
    213 213 213
    231 231 231
    312 312 312
    321 321 321
    以上都是3级排列。

    3145不是5级排列,因为缺少数字2,不满足有序的条件,所以数组中不能缺数。

    n级排列一共有 n ( n − 1 ) ( n − 2 ) . . . 3 × 2 × 1 = n ! n(n-1)(n-2)...3×2×1=n! n(n1)(n2)...3×2×1=n! 种。

    逆序:比较大的数排在比较小的数前面构成逆序。例如:在排列 4213 4213 4213中,4排在2前面就构成了逆序。
    逆序数:排列中逆序的总数。
    例如:
    在排列 4213 4213 4213中,逆序数为4,具体计算如下:
    3(4后面比4小的数的个数)+1(2后面比2小的数的个数)+0(1后面比1小的数的个数)+0(3后面比3小的数的个数)

    逆序数使用 N N N表示,例如: N ( 4213 ) = 4 N(4213)=4 N(4213)=4

    奇排列:逆序数为奇数的排列。
    偶排列:逆序数为偶数的排列。

    标准排列:逆序数为0的排列,也称为自然排列
    由n个数构成的逆序数为0的排列称为N级标准排列。例如: N ( 123... n ) = 0 N(123...n)=0 N(123...n)=0

    举例:
    求: N ( 54123 ) N(54123) N(54123)
    解:
    = 4 + 3 + 0 + 0 + 0 =4+3+0+0+0 =4+3+0+0+0
    = 7 =7 =7
    数逆序数的方法:从第一个数开始,依次数后面有几个比它小的数,顺序不能乱。

    求: N ( n ( n − 1 ) ( n − 2 ) . . . 321 ) N(n(n-1)(n-2)...321) N(n(n1)(n2)...321)
    解:
    = ( n − 1 ) + ( n − 2 ) + . . . + 2 + 1 =(n-1)+(n-2)+...+2+1 =(n1)+(n2)+...+2+1
    = n ( n − 1 ) 2 =\frac{n(n-1)}2 =2n(n1)

    对换:交换排列中的两个数。

    例如: 54 12 ↔ 3 → 54213 54\overleftrightarrow{12}3→54213 5412 354213

    由前面可知: N ( 54123 ) = 7 N(54123)=7 N(54123)=7,而交换两个数后, N ( 54213 ) = 4 + 3 + 1 + 0 + 0 = 8 N(54213)=4+3+1+0+0=8 N(54213)=4+3+1+0+0=8

    6 定理

    定理 1.1.1:一个排列经过一次对换,奇偶性会改变。

    一个排列做偶数次对换,其奇偶性不变;一个排列做奇数次对换,其奇偶性改变。

    定理 1.1.2:在所有的N级排列中,奇排列和偶排列的数量相等,各占: n ! 2 \frac{n!}2 2n!

    7 引用

    《线性代数》高清教学视频 “惊叹号”系列 宋浩老师_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili_1.1 二阶三阶行列式

    展开全文
  • char *options[] = { "二阶行列式" , "三阶行列式","注意事项","退出" }; //这里这样定义是为了使得option的值能和options的下标对应,便于刷新输出 WriteChar(18 + 11, 10, "线性代数之行列式计算 v1.0", 10); ...

    运行测试:

     

     

    源码: 

    #define _CRT_SECURE_NO_WARNINGS
    #include <iostream>
    #include <windows.h>
    #include <conio.h>
    using namespace std;
    
    void CleanConsole(int x, int y)     //y是指定要删除的行数,x可以从0位置开始循环替换到的截止位置
    {
    	COORD loc;
    	loc.Y = y;    //固定行数
    	for (int i = 0; i < x; i++)     //x从指定位置开始循环进行替换
    	{
    		loc.X = i;
    		SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), loc);
    		cout << " " << endl;;
    	}
    }
    void CleanConsole(int y)     //y是指定要删除的行数,直接指定x:0~50的位置进行清空
    {
    	COORD loc;
    	loc.Y = y;    //固定行数
    	for (int i = 0; i < 50; i++)     //x从指定位置开始循环进行替换
    	{
    		loc.X = i;
    		SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), loc);
    		cout << " " << endl;;
    	}
    }
    
    
    void WriteChar(short x, short y, char *pchar, char color)
    {
    	CONSOLE_CURSOR_INFO cci;
    	cci.dwSize = 1;   //光标的厚度
    	cci.bVisible = FALSE;    //光标不可见
    	SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cci);
    
    	COORD loc = { x,y };
    	SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), loc);
    	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color);
    	cout << pchar;
    }
    
    
    int ShowOptions()
    {
    	system("mode con cols=85 lines=28");
    	char *options[] = { "二阶行列式" , "三阶行列式","注意事项","退出" };    //这里这样定义是为了使得option的值能和options的下标对应,便于刷新输出
    	WriteChar(18 + 11, 10, "线性代数之行列式计算 v1.0", 10);
    	WriteChar(16 + 11, 12, "→", 10);
    	for (int i = 0; i < 4; i++)
    	{
    		WriteChar(18 + 11, 12 + i, options[i], 10);
    	}
    	char ch;
    	int option = 0;    //默认指向最上面的选项
    	while (true)
    	{
    		if (_kbhit())
    		{
    			ch = _getch();  //不进行回显
    
    			if (ch == 27)   //esc
    			{
    				return -1;
    			}
    			if (ch == 72 || ch == 80 || ch == '\r')  //只检测上下键+回车直接返回当前的option值
    			{
    
    				if (ch == 72)	//UP
    				{
    					WriteChar(16 + 11, 12 + option, "  ", 0);
    					option--;
    				}
    				else if (ch == 80)	//DOWN
    				{
    					WriteChar(16 + 11, 12 + option, "  ", 0);
    					option++;
    				}
    				if (option < 0)    //防止越界
    				{
    					option = 0;
    				}
    				else if (option >= 4)    //一直让其指向租后一个选项
    				{
    					option--;
    				}
    				//处理按上下键之后的显示
    				WriteChar(16 + 11, 12 + option, "                        ", 0);
    				Sleep(100);
    				WriteChar(16 + 11, 12 + option, "→", 10);
    				WriteChar(18 + 11, 12 + option, options[option], 10);
    
    				if (ch == '\r')
    				{
    					return option;
    				}
    			}
    		}
    	}
    }
    
    void Page_1()
    {
    	system("cls");
    	CONSOLE_CURSOR_INFO cci;
    	cci.dwSize = 1;   //光标的厚度
    	cci.bVisible = TRUE;    //光标可见
    	SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cci);
    
    	printf("请输入二阶行列式的4个数据,按照行式输入:\n");
    	int a[4];
    	int i = 0;
    	int temp_number = 0;
    	int result = 0;
    	while (i<4)
    	{
    		scanf("%d", &temp_number);
    		if (temp_number > -1000 && temp_number<1000)
    		{
    			a[i] = temp_number;
    			i++;
    		}
    	}
    	result = a[0] * a[3] - a[1] * a[2];
    	printf("结果:%ld", result);
    	printf("\n\n\n\n");
    	printf("**按任意键返回主菜单**");
    }
    void Page_2()
    {
    	system("cls");
    	CONSOLE_CURSOR_INFO cci;
    	cci.dwSize = 1;   //光标的厚度
    	cci.bVisible = TRUE;    //光标可见
    	SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cci);
    
    	printf("请输入三阶行列式的9个数据,按照行式输入:\n");
    	int a[9];    //设置数组存储三阶行列式的9个数据
    	long result_0 = 1;
    	long result_1 = 1;
    	long result_temp = 0;
    	long result = 0;
    	int temp_number = 0;
    	int i = 0;
    	while (i<9)
    	{
    		scanf("%d", &temp_number);
    		if (temp_number > -1000 && temp_number<1000)
    		{
    			a[i] = temp_number;
    			i++;
    		}
    	}
    
    	int index_0[9] = { 0,4,8,1,5,6,2,3,7 };
    	int index_1[9] = { 2,4,6,0,5,7,1,3,8 };    //存储主对角线和副对角线的数组下标
    	for (int i = 0; i < 9;)
    	{
    		result_0 = 1;
    		result_1 = 1;
    		for (int j = 0; j < 3; j++, i++)
    		{
    			result_0 *= a[index_0[i]];
    			result_1 *= a[index_1[i]];
    		}
    		result_temp = result_0 - result_1;
    		result += result_temp;
    	}
    	printf("结果:%ld", result);
    	printf("\n\n\n\n");
    	printf("**按任意键返回主菜单**");
    }
    void Page_3()
    {
    	system("cls");
    	WriteChar(20, 10, "注意: 行列式中的数值范围为[-1000,1000]\n\n", 15);
    	WriteChar(20, 12, "**按任意键返回主菜单**\n\n\n\n", 15);
    }
    
    
    int main()
    {
    	system("title 线性代数");
    	while (true)  
    	{
    		int result = ShowOptions();
    		if (result == 0)
    		{
    			Page_1();
    			CONSOLE_CURSOR_INFO cci;
    			cci.dwSize = 1;  
    			cci.bVisible = FALSE;   
    			SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cci);
    			_getch();
    			//system("pause");
    		}
    		else if (result == 1)
    		{
    			Page_2();
    			CONSOLE_CURSOR_INFO cci;
    			cci.dwSize = 1;  
    			cci.bVisible = FALSE;  
    			SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cci);
    			_getch();
    			//system("pause");
    		}
    		else if (result == 2)
    		{
    			Page_3();
    			CONSOLE_CURSOR_INFO cci;
    			cci.dwSize = 1;   
    			cci.bVisible = FALSE;  
    			SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cci);
    			_getch();
    			//system("pause");
    		}
    		else
    		{
    			cout << endl << endl;
    			return -1;
    		}
    	}
    
    	return 0;
    }

     

     

    展开全文
  • 第一章,用行列式解线性方程组,02-初识行列式简介2.1 二阶行列式2.1.1 定义2.1.2 对角线法则2.1.3 二元线性方程组解的行列式表示2.2 三阶行列式2.2.1 定义2.2.2 对角线法则2.2.3 三元线性方程组解的行列式表示 ...

    简介

    这是《玩转线性代数》的学习笔记
    少壮不努力,老大徒伤悲,学校里没学好,工作多年后又从头看,两行泪。。。

    2.1 二阶行列式

    2.1.1 定义

    将符号 ∣ a 11 a 12 a 21 a 22 ∣ \begin{vmatrix} a_{11} & a_{12} \\ a_{21} & a_{22}\end{vmatrix} a11a21a12a22称为二阶行列式,它的值为
    a 11 a 22 − a 12 a 21 a_{11}a_{22}-a_{12}a_{21} a11a22a12a21,记为 D D D,即
    D = ∣ a 11 a 12 a 21 a 22 ∣ = a 11 a 22 − a 12 a 21 D=\begin{vmatrix} a_{11} & a_{12} \\ a_{21} & a_{22}\end{vmatrix}=a_{11}a_{22}-a_{12}a_{21} D=a11a21a12a22=a11a22a12a21

    2.1.2 对角线法则

    • 主对角线
      从左上角到右下角元素连线称为主对角线
    • 副对角线
      从左下角到右上角元素连线称为副对角线

    用主对角线的乘积减去副对角线乘积的方式计算行列式的方法称为对角线法则

    2.1.3 二元线性方程组解的行列式表示

    解二元线性方程组:
    { a 11 x 1 + a 12 x 2 = b 1 a 21 x 1 + a 22 x 2 = b 2 ( 2.1 ) \left\{ \begin{aligned} a_{11}x_1+a_{12}x_2 = b_1\\ a_{21}x_1+a_{22}x_2 = b_2 \end{aligned} \right. \quad(2.1) {a11x1+a12x2=b1a21x1+a22x2=b22.1
    解得解为
    { x 1 = b 1 a 22 − b 2 a 12 a 11 a 22 − a 12 a 21 x 2 = b 2 a 11 − b 1 a 21 a 11 a 22 − a 12 a 21 ( a 11 a 22 − a 12 a 21 ≠ 0 ) \left\{ \begin{aligned} x_1 = \frac{b_{1}a_{22}-b_{2}a_{12}}{a_{11}a_{22}-a_{12}a_{21}}\\ x_2 = \frac{b_{2}a_{11}-b_{1}a_{21}}{a_{11}a_{22}-a_{12}a_{21}}\\ \end{aligned} \right. \quad(a_{11}a_{22}-a_{12}a_{21}\neq0) x1=a11a22a12a21b1a22b2a12x2=a11a22a12a21b2a11b1a21a11a22a12a21=0

    D 1 = ∣ b 1 a 12 b 2 a 22 ∣ = b 1 a 22 − b 2 a 12 D 2 = ∣ a 11 b 1 a 21 b 2 ∣ = a 11 b 2 − b 1 a 21 D_1 = \begin{vmatrix} b_{1} & a_{12} \\ b_{2} & a_{22}\end{vmatrix}=b_{1}a_{22}-b_{2}a_{12}\\ D_2 = \begin{vmatrix} a_{11} & b_{1} \\ a_{21} & b_{2}\end{vmatrix}=a_{11}b_{2}-b_{1}a_{21} D1=b1b2a12a22=b1a22b2a12D2=a11a21b1b2=a11b2b1a21
    则当 D = ∣ a 11 a 12 a 21 a 22 ∣ ≠ 0 D=\begin{vmatrix} a_{11} & a_{12} \\ a_{21} & a_{22}\end{vmatrix}\neq0 D=a11a21a12a22=0时,方程组的解惟一且可以表示为:
    x 1 = D 1 D , x 2 = D 2 D x_1=\frac{D_1}{D},x_2=\frac{D_2}{D} x1=DD1,x2=DD2

    2.2 三阶行列式

    2.2.1 定义

    将符号 ∣ a 11 a 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 ∣ \begin{vmatrix} a_{11} & a_{12} & a_{13}\\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33}\end{vmatrix} a11a21a31a12a22a32a13a23a33称为三阶行列式,它的值为
    a 11 a 22 a 33 + a 12 a 23 a 31 + a 13 a 21 a 32 − a 13 a 22 a 31 − a 11 a 23 a 32 − a 12 a 21 a 33 a_{11}a_{22}a_{33} + a_{12}a_{23}a_{31}+ a_{13}a_{21}a_{32}-a_{13}a_{22}a_{31} - a_{11}a_{23}a_{32}-a_{12}a_{21}a_{33} a11a22a33+a12a23a31+a13a21a32a13a22a31a11a23a32a12a21a33

    2.2.2 对角线法则

    将元素循环移位,可以看到同样满足对角线法则
    图来自原地址
    在这里插入图片描述

    2.2.3 三元线性方程组解的行列式表示

    解三元线性方程组:
    { a 11 x 1 + a 12 x 2 + a 13 x 3 = b 1 a 21 x 1 + a 22 x 2 + a 23 x 3 = b 2 a 31 x 1 + a 32 x 2 + a 33 x 3 = b 3 \left\{ \begin{aligned} a_{11}x_1+a_{12}x_2+a_{13}x_3 = b_1\\ a_{21}x_1+a_{22}x_2+a_{23}x_3 = b_2\\ a_{31}x_1+a_{32}x_2+a_{33}x_3 = b_3\\ \end{aligned} \right. \quad a11x1+a12x2+a13x3=b1a21x1+a22x2+a23x3=b2a31x1+a32x2+a33x3=b3
    D = ∣ a 11 a 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 ∣ ≠ 0 , D 1 = ∣ b 1 a 12 a 13 b 2 a 22 a 23 b 3 a 32 a 33 ∣ , D 2 = ∣ a 11 b 1 a 13 a 21 b 2 a 23 a 31 b 3 a 33 ∣ , D 3 = ∣ a 11 a 12 b 1 a 21 a 22 b 2 a 31 a 32 b 3 ∣ ( D 1 , D 2 , D 3 的 意 义 与 上 同 ) D=\begin{vmatrix} a_{11} & a_{12} & a_{13}\\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33}\end{vmatrix}\neq0, D_1=\begin{vmatrix} b_{1} & a_{12} & a_{13}\\ b_{2} & a_{22} & a_{23} \\ b_{3} & a_{32} & a_{33}\end{vmatrix}, \\ D_2=\begin{vmatrix} a_{11} & b_{1} & a_{13}\\ a_{21} & b_{2} & a_{23} \\ a_{31} & b_{3} & a_{33}\end{vmatrix}, D_3 =\begin{vmatrix} a_{11} & a_{12} & b_{1}\\ a_{21} & a_{22} & b_{2} \\ a_{31} & a_{32} & b_{3}\end{vmatrix} \quad (D_1,D_2,D_3的意义与上同) D=a11a21a31a12a22a32a13a23a33=0,D1=b1b2b3a12a22a32a13a23a33,D2=a11a21a31b1b2b3a13a23a33,D3=a11a21a31a12a22a32b1b2b3(D1,D2,D3)

    D ≠ 0 D\neq0 D=0,则有唯一解:
    x 1 = D 1 D , x 2 = D 2 D , x 3 = D 3 D x_1=\frac{D_1}{D},x_2=\frac{D_2}{D},x_3=\frac{D_3}{D} x1=DD1,x2=DD2,x3=DD3

    展开全文
  • 一、二阶行列式 定义 2行2列共4个元素 aij\ a_{ij} aij​,其中i表示行标,j表示列标 运算表达式: [a11a12a21a22]\begin{bmatrix} a_{11}&a_{12}\\ a_{21}&a_{22}\end{bmatrix}[a11​a21​...
  • 本文非原创,资料来自?强烈推荐!猴博士爱讲课平台:中国大学Mooc app...所谓行列式,就是长这个模样的东西,它有相同的行数与相同的列数,外面加两条竖线,2行2列→二阶行列式3行3列→三阶行列式4行4列→四阶行列式...
  • 前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~   自我介绍 ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程...二阶三阶行列式 二阶行列
  • 2 ,三阶行列式 理论 : 仍然支持,对角线法则 ( 主对角线 - 副对角线 ) 图示 : 计算 : 3 ,全排列 : 全排列 : 将 n 个数字排成一列,有几种排法 ? Pn = n! n! = n * (n-1) * (n-2) * … * 1 ...
  • N阶行列式的超平行多面体的几何图形是由行(或列)向量张成的,而且这个n维超平行多面体与一个n维超长方体等体积。 一、代数意义 矩阵乘法规则看起来比较复杂,不容易理解其乘法规则背后隐含的意义。现举一个...
  • 三阶行列式5. 排列6. 定理 1. 数学与线性代数中的部分区别 在数学中: 2∗3=3∗22*3 = 3*22∗3=3∗2 ab=abab = abab=ab 1a\frac{1}{a}a1​ 在线性代数中 AB!=BAAB != BAAB!=BA !1a! \frac{1}{a}!a1​ 特别...
  • 老师让我们课余时间利用所学编写一个程序计算1600阶行列式的值,我一开始使用归纳法的思想去想的,先编出一个二阶行列式的代码,再编一个三阶行列式,二者一组合,得到他们的共有部分,但是我发现for 结构太多了,...
  • 计算n阶行列式

    千次阅读 2020-03-16 13:45:38
    本文主要介绍如何用拉普拉斯展开计算计算n阶行列式的值。 行列式 行列式(Determinant)是数学中的一个函数,将一个n×n{n\times n}n×n的矩阵A{A}A映射到一个纯量,记作det⁡(A)或∣A∣{\det(A)}或{|A|}det(A)或∣...
  • 1 ,矩阵的转置 :定义 定义 :行变列,列变行 例如 : 2 ,转置后的计算结果 : ...三阶行列式 :遵守对角线法则 n 阶行列式 : 1 ,计算 : 每行出一个元,符号有可能正或者负,结果求和 2 ,例
  • (一) 小编语  大学数学大基础:概论,线性,高数,用计科系软件角度运用数学观点理论编写程序来解决作业是一个极富创造力的工程,现在就... 二阶行列式理论基础  二阶行列式推导过程:  ①a11x1+a12x2=b1
  • 《行列式计算器》由会员分享,可在线阅读,更多相关《行列式计算器(6页珍藏版)》请在人人文库网上搜索...关键词三阶行列式四阶行列式六阶行列式引言在复习高等代数时,我常常为纷烦复杂的行列式计算而感到头痛,就算...
  • 线性代数之行列式(1) ——行列式的定义以及二阶行列式     使用消元法解二元线性方程组: 解决方式:  首先想办法干掉x2,那么第一个方程两边乘以a22,第二个方程两边乘以a12然后相减 ...
  • 上一篇,我们讲到了二阶行列式的定义,接下来我们要将其拓展到任意行列式。 在此之前,我们要讲一个叫做逆序数的东西,它与行列式的定义可谓是息息相关。 那么,什么是逆序数呢? 众所周知,任意一个大小为n...
  • 线性代数 行列式

    千次阅读 2019-06-09 17:33:25
    文章目录1 二阶三阶行列式1.1 二阶行列式1.2 三阶行列式1.3 排列与逆序1.3.1 排列1.3.2 逆序1.3.3 逆序数1.3.4 对换2 n阶行列式2.1 定义(按行展开)2.2 特殊行列式 1 二阶三阶行列式 1.1 二阶行列式 222 行 222 ...
  • 二阶三阶矩阵求逆

    万次阅读 2019-01-15 12:49:09
    一、行列式计算 ∣ A ∣ = a 11 × a 22 × a 33 + a 12 × a 23 × a 31 + a 13 × a 21 × a 32 − a 31 × a 22 × a 13 − a 21 × a 12 × a 33 − a 11 × a 32 × a 23 \left | A \right |=a_{11}\times a_...
  • 行列式

    2017-09-12 20:01:02
    二阶三阶行列式的性质 二阶行列式的性质 三阶行列式的展开式和性质 三阶行列式展开式 余子式 代数余子式 性质 n元排列 n元排列的逆序及逆序数 n元排列的奇偶性 对换及其对排列奇偶性的影响二阶、三阶行列式的性质...
  • 三阶行列式: 特点:每次取得数都是不同行不同列的 排列 逆序 举例 对换 定理 1.任何排列经过一次对换都会改变奇偶性 2.由1,2,,,,n构成的全部n级排列共有n!个,其中奇,偶排列各占一半 行列式的性质 性质...
  • 行列式计算方法

    2019-09-19 06:59:26
    原文地址... 前面我们看到,二阶行列式的计算方法是“对角线法则”: 主对角线元素积与副对角线元素积的差 那么这个法则对其他的行列式适用吗? 三阶行列式 三阶行列式 二阶行列式的...
  • 1.1 二阶三阶行列式 计算这样的一个方程组最基础的可以使用两个方程进行加减消元运算, 或者 不难发现,运算后出现了系数相乘的状况。 这样就产生了行列式的概念。 一个二阶行列式的集合意义是一个平行四边形的...
  • 本小程序用来实现线性代数中的2-4阶行列式计算,根据掌握的数学知识,充分利用C语言数组运算的方式来进行新手试炼。注意:只适用于新手试炼!! 一、运用DEV C++软件平台进行工程创建 二、算法的构思 利用行列式...
  • 首先我们来看一看计算行列式的意义:  a11x1 + a12x2 = b1 (1)  a21x1 + a22x2 = b2 (2) 这是一个二元一次方程组,正常情况下求解需要高斯消元:  将  (1) * a22 - (2) * a12  得到   (a11a22 - a21a12)...
  • 二阶三阶简单,一想 这样\ and 这样/简单死了 对于高阶的那就正常算了 定义算: def det(): 首先定义下行列式的项。 一个n阶行列式中,n个不同行,不同列的元素的乘积,称为一个项。 行列式的定义:行列...
  • 矩阵与行列式的区别 行列式简单理解(二三阶)

    万次阅读 多人点赞 2018-10-30 00:14:56
    只有方阵才可以定义它的行列式,而对于长方阵不能定义它的行列式。  2. 两个矩阵相等是指对应元素都相等;两个行列式相等不要求对应元素都相等,甚至阶数也可以不一样,只要运算代数和的结果一样就行了。  3.两...
  • 线性代数-行列式

    2021-01-07 16:23:01
    二阶和三阶行列式1.1 二阶行列式的概念1.1.1 二阶行列式的对角线法则1.2三阶行列式的概念1.2.1 三阶行列式的对角线法则1.3 例题2. 全排列和对换2.1 1. 二阶和三阶行列式 行列式是线性代数中常用的工具。 1.1 二阶...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,557
精华内容 622
热门标签
关键字:

二阶三阶行列式计算