所有产品

为什么MATLAB用矩阵做运算单位?普通数字不行么

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部matlab用矩阵做运算单位这种说法其实是为了方便初学者理解的,严格来说是不对的。我理解的你说的运算单位其实也就是matlab里的最基本的变量。

  在C语言或者类似的高级编程语言中,变量要使用必须首先定义变量类型。你想使用变量a,那必须首先指定a是什么类型的,是整数?还是浮点数?或者布尔类型的数?还是矩阵?是向量?或者是一种特殊的数据类型(类)?

  而matlab作为一种“高高级语言”,面向数学计算,其本身已经弱化了变量类型的概念。如果楼主搞过matlab和C++的混合编程的话就会知道,matlab的的变量统称为matlabarray类型,也就是matlab数组类型。

  没搞过的话也没关系,我们从具体应用来看。你在matlab里写了一行a=1。此时你是把a当作一个整数变量来用的。但是回头你可以再写a=a+0.1。此时a=1.1,又成了一个浮点数。然后你还可以写a=[a,2]。此时a=[1.1 2]这样一个行向量。然后你还可以写a=[a;a],此时a=[1.1,2;1.1,2]这样一个矩阵。

  此时我们就看出,matlab和C语言的不同。matlab里的变量,不需要指定数据类型。你想让它是什么就可以是什么。可以是整数、浮点数、向量、矩阵……全都可以。而matlab里使用变量,也根本不需要定义其类型。

  matlab是一种“高高级语言”,如果从高级语言的角度来看,matlab的基本数据类型一定是一个“类”。如果不理解什么是类的话,去看点面向对象程序设计的书,比如C++就会懂了。

  matlab这样处理的好处也恰恰是“高高级语言”的好处,就是用户不需要再像使用高级语言一样,严格去定义变量类型。而可以把更多的注意力放在科学计算本身上。