| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 535 人关注过本帖
标题:在学数学,请会高数的朋友进来看看我理解是否对
收藏  订阅  推荐  打印 
ioriliao
Rank: 12Rank: 12Rank: 12
来自:广东
等级:贵宾
威望:29
帖子:2122
积分:23963
注册:2006-11-30
在学数学,请会高数的朋友进来看看我理解是否对

//关于矩阵的运算看看描述得是否对.
//谢谢!
[CODE]
#include <stdio.h>
#include <stdlib.h>
void printA(int X[][5]);                  //打印矩阵
void printT(int X[][3]);
void exps(int A[][], char ch, int B[][]); //矩阵运算
void T(int A[][], int C[][]);             //旋转矩阵
int main(void)
{
    int A[][5]={{1,2,3,4,5},
                {2,3,4,5,6},
                {3,4,5,6,7}
               };
              
    int B[][5]={{1,2,3,4,5},
                {2,3,4,5,6},
                {3,4,5,6,7}
               };
               
    int C[5][3]={{0,0,0}};
   
    printf("矩阵相加:\n");
    exps(A,'+',B);
    printA(A);
   
    printf("矩阵相减:\n");
    exps(A,'-',B);
    printA(A);
   
    printf("矩阵相乘:\n");
    exps(A,'*',B);
    printA(A);
   
    printf("矩阵相除:\n");
    exps(A,'/',B);
    printA(A);
   
    printf("旋转矩阵:\n");
    T(A,C);
    printT(C);
   
    system("pause");
    return 0;
}
//矩阵运算
void exps(int A[][5], char ch, int B[][5])
{
    int i=0,j=0;
    for(i=0; i<3; i++)
    {
        for(j=0; j<5; j++)
        {
            switch(ch)
            {
                case '+':     
                     A[i][j]=A[i][j]+B[i][j];
                     break;
                case '-':
                     A[i][j]=A[i][j]-B[i][j];
                     break;
                case '*':
                     A[i][j]=A[i][j]*B[i][j];
                     break;
                case '/':
                     A[i][j]=A[i][j]/B[i][j];
                     break;
                }
        }
    }
}
//旋转矩阵
void T(int A[][5], int C[][3])
{
     int i=0,j=0;
     for(i=0; i<5; i++)
     {
         for(j=0; j<3; j++)
         {
             C[i][j]=A[j][i];
         }
     }            
}
//打印矩阵
void printA(int X[][5])
{
    int i=0,j=0;
    for(i=0; i<3; i++)
    {   
       for(j=0; j<5; j++)
       {
           printf("%d\t",X[i][j]);
       }
       printf("\n");   
    }
}

void printT(int X[][3])
{
    int i=0,j=0;
    for(i=0; i<5; i++)
    {   
       for(j=0; j<3; j++)
       {
           printf("%d\t",X[i][j]);
       }
       printf("\n");   
    }
}

[/CODE]
搜索更多相关主题的帖子: 数学  朋友  在学  
2008-1-27 00:31
pengzhixi
Rank: 1
等级:新手上路
帖子:3
积分:132
注册:2008-1-27
建议你先去看下矩阵的乘法规则!

建议你先去看下矩阵的乘法规则!
2008-1-27 00:59
雨中飞燕
Rank: 2
等级:ID已被封
威望:8
帖子:2200
积分:22984
注册:2007-8-9

无语。。。。。。。。


2008-1-27 01:37
闪闪4521
Rank: 3Rank: 3
等级:中级会员
帖子:196
积分:2234
注册:2007-11-30

这个是线性代数吧,
矩阵的乘除法还是挺麻烦的,你这个.....
貌似不是这么算得吧
2008-1-27 14:03
ioriliao
Rank: 12Rank: 12Rank: 12
来自:广东
等级:贵宾
威望:29
帖子:2122
积分:23963
注册:2006-11-30

呵呵...我就是不知道我这般的理解对否...所以来问问...
昨晚通宵下载了一个线代的视频教程,准备恶补!
2008-1-27 15:54
中学者
Rank: 12Rank: 12Rank: 12
等级:版主
威望:11
帖子:3376
积分:34542
注册:2007-9-14

线代~~~

汇编.....
2008-1-27 16:31
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.051581 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved