运算excel不显示计算结果果

6.5 矩阵的运算及其运算规则
6.5 矩阵的运算及其运算规则
一、矩阵的加法与减法
  1、运算规则
  设矩阵,,
     
  简言之,两个矩阵相加减,即它们相同位置的元素相加减!
  注意:只有对于两个行数、列数分别相等的矩阵(即同型矩阵),加减法运算才有意义,即加减运算是可行的.
(假设运算都是可行的)
  满足交换律和结合律
  交换律 
  结合律 
二、矩阵与数的乘法
  数乘矩阵A,就是将数乘矩阵A中的每一个元素,记为或.
  特别地,称称为的负矩阵.
  满足结合律和分配律
  结合律:
(λμ)A=λ(μA)
(λ+μ)A =λA+μA.
  分配律:
(A+B)=λA+λB.
  典型例题
  例6.5.1 已知两个矩阵
  满足矩阵方程,求未知矩阵.
  解 由已知条件知
三、矩阵与矩阵的乘法
  设,,则A与B的乘积是这样一个矩阵:
  (1) 行数与(左矩阵)A相同,列数与(右矩阵)B相同,即.
  (2) C的第行第列的元素由A的第行元素与B的第列元素对应相乘,再取乘积之和.
  典型例题
  例6.5.2 设矩阵
  解 是的矩阵.设它为
  想一想:设列矩阵,行矩阵,和的行数和列数分别是多少呢
  是3×3的矩阵,是1×1的矩阵,即只有一个元素.
  课堂练习
  1、设,,求.
  2、在第1道练习题中,两个矩阵相乘的顺序是A在左边,B在右边,称为A左乘B或B右乘A.如果交换顺序,让B在左边,A在右边,即A右乘B,运算还能进行吗?请算算试试看.并由此思考:两个矩阵应当满足什么条件,才能够做乘法运算.
  3、设列矩阵,行矩阵,求和,比较两个计算结果,能得出什么结论吗?
  4、设三阶方阵,三阶单位阵为,试求和,并将计算结果与A比较,看有什么样的结论.
  求是有意义的,而是无意义的.
  结论1 只有在下列情况下,两个矩阵的乘法才有意义,或说乘法运算是可行的:左矩阵的列数=右矩阵的行数.
  是矩阵,是的矩阵.
结论2 在矩阵的乘法中,必须注意相乘的顺序.即使在与均有意义时,也未必有=成立.可见矩阵乘法不满足交换律.
  计算得:.
  结论3 方阵A和它同阶的单位阵作乘积,结果仍为A,即.
  单位阵在矩阵乘法中的作用相当于数1在我们普通乘法中的作用.
  典型例题
  例6.5.3 设,试计算和.
      
      .
      
      
结论4 两个非零矩阵的乘积可以是零矩阵.由此若,不能得出或的结论.
  例6.5.4 利用矩阵的乘法,三元线性方程组
  可以写成矩阵的形式
  若记系数、未知量和常数项构成的三个矩阵分别为
  则线性方程组又可以简写为矩阵方程的形式:.
运算性质(假设运算都是可行的)
  (1) 结合律 .
  (2) 分配律 (左分配律);
         (右分配律).
  (3) .
  定义:设A是方阵,是一个正整数,规定
显然,记号表示个A的连乘积.
四、矩阵的转置
  定义:将矩阵A的行换成同序号的列所得到的新矩阵称为矩阵A的转置矩阵,记作或.
  例如,矩阵的转置矩阵为.
  2、运算性质(假设运算都是可行的)
  (4) ,是常数.
  典型例题
  例6.5.5
  验证运算性质:
  定义:如果方阵满足,即,则称A为对称矩阵.
  对称矩阵的特点是:它的元素以主对角线为对称轴对应相等.
五、方阵的行列式
  1、定义
  定义:由方阵A的元素所构成的行列式(各元素的位置不变),称为方阵A的行列式,记作或.
、运算性质
(行列式的性质)
  (2) ,特别地:
  (3) (是常数,A的阶数为n)
  思考:设A为阶方阵,那么的行列式与A的行列式之间的关系为什么不是,而是?
  不妨自行设计一个二阶方阵,计算一下和.
  例如,则.
  于是,而
  思考:设,有几种方法可以求?
方法一:先求矩阵乘法,得到一个二阶方阵,再求其行列式.
    方法二:先分别求行列式,再取它们的乘积.下列运算结果为1的是_中华文本库
具体内容参考第一章视频之“什么是计算思维”以及第一章课件。 2、下列说法正确...结果为 0.0110 具体参考:第二章视频 2.3“0 和 1 与非数值性信息” 11、...
第1章计算机、计算与计算思维练习题答案解析_理学_...自动计算需要解决的基本问题就是 “数据” 和 “计...14、下列说法正确的是___。 (A)一般计算机中仅配备...
比如:日期型和数值型整数相加为一个新的日期型数据...写出下面数学表达式的 Visual FoxPro 表达式: ( 1 ...在下列 Visual FoxPro 表达式中,运算结果一定是逻辑...
在 MCS-51 单片机的运算电路中,不能为 ALU 提供数据的是( D A. 累加器 A...(3) 1000011 转换为:67D、43H (4)11111 转换为:31D、1FH 3 将下列真值...
1 分别进行算术加、逻辑加运算,其结果用二进制形式分 别表示为___。 A.1、...下列四个不同进位制的数中,数值最大的是___。B A.十进制数 84.5 B.二进...
连续异或(1?1?1?1?? )1985 个 1 的结果是...1,1 题 1.3.5 指出下列各式中哪些是四变量 A...反码的基 础上加 1,加法直接运算,减法变为补码后...
在Visual FoxPro中,算术运算符有多种,按优先等级排列,依次为___、___、 __...一.选择题 1.在命令窗口中输入下列命令,并按回车键,主屏幕上显示的结果是__...
(计算部分) 1、标点符号; ___可以使命令行不显示...B=[1 4 3;1 5 0];写出下列各指令运行的结果...产生 4 阶全 0 方阵的命令为___; 产生 3 阶全...
? ? ? ? 得分: 5 知识点: 11.1 模式窗体 A. 将变量 myForm 改为引用...(5 分) 下列程序语句中,变量 i 运算的结果是( )。 int i,a=31,b=10;...
第一章 一.思考题(略) 二.综合题 1. 设机器字长为 8 位,写出下列用真值...下列各数均为十进制数,试用 8 位二进制补码计算下列各题,判断说明运算结果是否...欢迎加入我们,一同切磋技术。 &
用户名: &&&
密 码: &
共有 3423 人关注过本帖
标题:算数运算时输出结果为“-1.#IND”?这是为什么? 我是新手,请多关照
等 级:新手上路
&&问题点数:0&&回复次数:6&&&
算数运算时输出结果为“-1.#IND”?这是为什么? 我是新手,请多关照
小弟是新手,这几天在自己用C程序编写简单的计算器程序,遇到了以下问题,
实在找不出原因,希望大家帮我看看。。。。。。
运行环境:VC6.0
问题概述:
&&& 当一次进行运算时,输入“+8”,输出结果为“108”;紧接着进行第二次
运算时,输入“+8”,本应该输出“116”,输出结果为“-1.#IND”;如果继续进行运算,输入“运
算符+数字”,输出结果仍为“-1.#IND”。
&&& 每次重新开启程序后,重复出现上述问题。
问题程序如下:
#include&stdio.h&
#include&Dos.h&
/***************************继续四则运算****************************/
float jixu(char e,char c,float d)
&&& switch(c)&&&&&&&&
&&&&&&&&case '+':
&&&&&&&&&&&&jg=e;
&&&&&&&&&&&&jg+=d;
&&&&&&&&&&&&
&&&&&&&&&&&&
&&&&&&&&case '-':
&&&&&&&&&&&&jg=e;
&&&&&&&&&&&&jg-=d;
&&&&&&&&&&&&
&&&&&&&&&&&&
&&&&&&&&case '*':
&&&&&&&&&&&&jg=e;
&&&&&&&&&&&&jg*=d;
&&&&&&&&&&&&
&&&&&&&&&&&&
&&&&&&&&case '/':
&&&&&&&&&&&&jg=e;
&&&&&&&&&&&&jg/=d;
&&&&&&&&&&&&
&&&&&&&&&&&&
/*****************************主函数*******************************/
float main()
&&& float z=100;
&&& while(1)
&&&&&&&&float b,
&&&&&&&&printf(&请继续操作(依次输入“运算符+数字”)\n\n&);
&&&&&&&&printf(&%g&,z);
&&&&&&&&scanf(&%c%f&,&op,&b);
&&&&&&&&z=jixu(z,op,b);&&&&&&&&&
&&&&&&&&printf(&\n计算结果是:&&%g\n\n&,z);
&&&&&&&&system(&pause&);
&&&&&&&&printf(&\n&);
&&&&&&&&system(&cls&);
&&&&&&&&return 0;
搜索更多相关主题的帖子:
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
程序代码:#include&stdio.h&
#include &stdlib.h&
#include&Dos.h&
/***************************继续四则运算****************************/
float jixu(char e,char c,float d)
&&& switch(c)&&&&&&
&&&&&&&&//
&&&&&&&&case '+':
&&&&&&&&&&&&jg=e;
&&&&&&&&&&&&jg+=d;
&&&&&&&&&&&&return
&&&&&&&&&&&&break;
&&&&&&&&case '-':
&&&&&&&&&&&&jg=e;
&&&&&&&&&&&&jg-=d;
&&&&&&&&&&&&return
&&&&&&&&&&&&break;
&&&&&&&&case '*':
&&&&&&&&&&&&jg=e;
&&&&&&&&&&&&jg*=d;
&&&&&&&&&&&&return
&&&&&&&&&&&&break;
&&&&&&&&case '/':
&&&&&&&&&&&&jg=e;
&&&&&&&&&&&&jg/=d;
&&&&&&&&&&&&return
&&&&&&&&&&&&break;
/*****************************主函数*******************************/
float main()
&&& float z=<font color=#;
&&& while(<font color=#)
&&&&&&&&float b,
&&&&&&&&char
&&&&&&&&printf(&请继续操作(依次输入“运算符+数字”)\n\n&);
&&&&&&&&printf(&%g&,z);
&&&&&&&&scanf(& %c%f&,&op,&b);
&&&&&&&&z=jixu(z,op,b);&&&&&&&&
&&&&&&&&printf(&\n计算结果是:&&%g\n\n&,z);
&&&&&&&&system(&pause&);
&&&&&&&&printf(&\n&);
&&&&&&&&system(&cls&);
&&&&&&&&return <font color=#;
楼主scanf陷阱重重&&楼主可以要小心啊scanf(& %c%f&,&op,&b);
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
===========深入&-----------------&浅出============
等 级:新手上路
回复 2楼 laoyang103
O(∩_∩)O哈哈~ 谢谢,这个scanf()陷阱是怎么回事啊?为什么加了一个空格就哦了
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
这就是程序缓冲区数据流的概念了
因为你第一次的空字符也就是第一次的那个空格
被当成第二次的那个运算符了&&呵呵&&以后注意一下
前面加上空格scanf(& %c%f&,&op,&b);是为了要把回车给忽略掉
然后让他读入你的运算符&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
===========深入&-----------------&浅出============
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
楼上正解。还有下面的问题:
程序代码:
float jixu(char e,char c,float d) // 这里的 e 是 char 类型,但是下面传递进来的 z 却是 float 类型,运算结果会让人难以理解的,最好这里 e 也改成 float 类型
float main() // 这个,最好用 int
&&& float z=<font color=#; // 上面说的就是这个 z
等 级:新手上路
回复 5楼 voidx
来 自:内蒙古包头市
等 级:新手上路
帖 子:17
回复 2楼 laoyang103
高手~能不能给我推荐个介绍缓冲区的文章啊~我编程中也有这个问题啊~谢谢~
版权所有,并保留所有权利。
Powered by , Processed in 0.181903 second(s), 7 queries.
Copyright&, BCCN.NET, All Rights ReservedJava字符串转换成算术表达式计算并输出结果
0人收藏此代码,
Java字符串转换成算术表达式计算并输出结果,通过此代码可以直接对字符串形式的算术表达式进行运算,非常实用。转自:
package cn.anycall.
import java.math.BigD
public class TestSHU {
* 两个字符类型的小数进行相加为a+b;
* @param a
* @param b
public static String addBigDecimal(String a, String b) {
double a1 = Double.parseDouble(a);
double b1 = Double.parseDouble(b);
BigDecimal a2 = BigDecimal.valueOf(a1);
BigDecimal b2 = BigDecimal.valueOf(b1);
BigDecimal c2 = a2.add(b2);
String c1 = c2 + &&;
return c1;
* 两个字符类型的小数进行相减为a-b;
* @param a
* @param b
public static String reduceBigDecimal(String a, String b) {
double a1 = Double.parseDouble(a);
double b1 = Double.parseDouble(b);
BigDecimal a2 = BigDecimal.valueOf(a1);
BigDecimal b2 = BigDecimal.valueOf(b1);
BigDecimal c2 = a2.subtract(b2);
String c1 = c2 + &&;
return c1;
* 两个字符类型的数相乘 a*b=c;
* @param a
* @param b
public static String multipliedString(String a, String b) {
double a1 = Double.parseDouble(a);
double b1 = Double.parseDouble(b);
BigDecimal a2 = BigDecimal.valueOf(a1);
BigDecimal b2 = BigDecimal.valueOf(b1);
BigDecimal c2 = a2.multiply(b2);
String c1 = c2 + &&;
return c1;
* 两个字符类型的数相除 a/b=c;
* @param a
* @param b
public static String divideString(String a, String b) {
double a1 = Double.parseDouble(a);
double b1 = Double.parseDouble(b);
BigDecimal a2 = BigDecimal.valueOf(a1);
BigDecimal b2 = BigDecimal.valueOf(b1);
BigDecimal c2 = a2.divide(b2,a2.scale());
String c1 = c2 + &&;
return c1;
public static String yunsuanjibie(String s) {
String r = &&;
int p = 0;
for (int i = 0; i & s.length(); i++) {
if (s.charAt(i) == &#39;+&#39; || s.charAt(i) == &#39;-&#39; || s.charAt(i) == &#39;*&#39;
|| s.charAt(i) == &#39;/&#39;) {
String k[] = new String[2 * p + 1];
int k1 = 0;
int first = 0;
for (int i = 0; i & s.length(); i++) {
if (s.charAt(i) == &#39;+&#39; || s.charAt(i) == &#39;-&#39; || s.charAt(i) == &#39;*&#39;
|| s.charAt(i) == &#39;/&#39;) {
k[k1] = s.substring(first, i);
k[k1] = && + s.charAt(i);
first = i + 1;
k[k1] = s.substring(first, s.length());
while (kp & 0) {
for (int i = 0; i & k. i++) {
if (k[i].equals(&*&) || k[i].equals(&/&)) {
for (l = i - 1; l & -1; l--) {
if (!(k[l].equals(&p&)))
for (q = i + 1; q & k. q++) {
if (!(k[l].equals(&p&)))
if (k[i].equals(&*&)) {
k[i] = &&+ multipliedString(k[l],k[q]);
k[l] = &p&;
k[q] = &p&;
k[i] = &&+divideString(k[l],k[q]);
k[l] = &p&;
k[q] = &p&;
for (int i = 0; i & 2 * p + 1; i++) {
if (k[i].equals(&+&) || k[i].equals(&-&)) {
for (l = i - 1; l & -1; l--) {
if (!(k[l].equals(&p&)))
for (q = i + 1; q & k. q++) {
if (!(k[q].equals(&p&)))
if (k[i].equals(&+&)) {
k[i] = &&+addBigDecimal(k[l],k[q]);
k[l] = &p&;
k[q] = &p&;
k[i] = &&+reduceBigDecimal(k[l],k[q]);
k[l] = &p&;
k[q] = &p&;
for (int i = 0; i & k. i++) {
if (!(k[i].equals(&p&))) {
public static void sizeyunsuan(String s) {
while (true) {
int first = 0;
int last = 0;
for (int i = 0; i & s.length(); i++) {
if (s.charAt(i) == &#39;(&#39;)
if (s.charAt(i) == &#39;)&#39;) {
if (last == 0) {
System.out.println(yunsuanjibie(s));
String s1 = s.substring(0, first);
String s2 = s.substring(first + 1, last);
String s3 = s.substring(last + 1, s.length());
s = s1 + yunsuanjibie(s2) + s3;
public static void main(String[] args) {
String s = &1.4+2*32/(3-2.1)&;
sizeyunsuan(s);
//该代码片段来自于: /codes/java/7134
相关代码片段:
最新Java代码片段
合作网站:}

我要回帖

更多关于 理正工具箱无计算结果 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信