1、打开matlab,在命令行窗口中输入a=[12 24 35;26 78 56],创建一个2行3列的矩阵。
2、在命令行窗口中输入mean(a(:)),求a矩阵所有元素的平均值。
3、按回车键之后,可以看到a矩阵所有元素的平均值是 38.5000。
4、如果想求矩阵每一列的平均值,输入mean(a,1)。
5、如果想求矩阵每一行的平均值,输入mean(a,2)。
注意事项:
C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
如下:【注】VC6已被卸载,系统中只有VC 2010,但下面的代码用的是标准的C语句,因此在VC6是没有问题的,事实上任何一个C编译器都可以通过(已在VC2010、MinGW下测试通过)。
#include
double funAverage(int *p, int n);
int funMax(int p[][3], int n);
int funMin(int (*p)[3], int n);
int main(int argc, char const *argv[])
{
int a[4][3], num;
size_t i, j, ROWS, COLS, totalnum;
ROWS = sizeof(a)/sizeof(a[0]);
COLS = sizeof(a[0])/sizeof(a[0][0]);
totalnum = ROWS * COLS;
printf("Input %dx%d integer matrix:\n", ROWS, COLS);
i = 0;
while (i < ROWS) {
j = 0;
while (j < COLS) {
if (scanf("%d", &num) == 1) {
a[i][j] = num;
j++;
}
}
i ++;
}
printf("\n");
printf("Max: %d\n", funMax(a,4));
printf("Min: %d\n", funMin(a,4));
printf("Average: %g\n", funAverage(a[0],12));
return 0;
}
double funAverage(int *p, int n)
{
int i;
double sum = 0.0;
for (i = 0; i < n; ++i)
sum += p[i];
return (double)(sum/n);
}
int funMax(int p[][3], int n)
{
int i,j, cols, amax = p[0][0];
cols = sizeof(p[0])/sizeof(p[0][0]);
for (i = 0; i < n; ++i)
for (j = 0; j < cols; ++j)
if (p[i][j] > amax) amax = p[i][j];
return amax;
}
运行如下:
Input 4x3 integer matrix:
1 2 3
4 5 6
7 8 9
10 11 12
Max: 12
Min: 1
Average: 6.5
是用三个自定义函数吗?是的话我再写,不然太费时间