MATLAB是一种基于什么编程语言的语言?

2024-05-15 11:28

1. MATLAB是一种基于什么编程语言的语言?

  MATLAB是一种对技术计算高性能的语言。
  它集成了计算,可视化和编程于一个易用的环境中,在此环境下,问题和解答都表达为我们熟悉的数学符号。
  典型的应用有:

数学和计算 
算法开发 
建模,模拟和原形化 
数据分析,探索和可视化 
科学与工程制图 
应用开发,包括图形用户界面的建立 
MATLAB是一个交互式的系统,其基本数据元素是无须定义维数的数组。
  这让你能解决很多技术计算的问题,尤其是那些要用到矩阵和向量表达式的问题。而要花的时间则只是用一种标量非交互语言(例如C或Fortran)写一个程序的时间的一小部分。

MATLAB是一种基于什么编程语言的语言?

2. matlab和C语言编程是一回事吗?

这是两者级别不同的语言。两者的编译方法以及编译语言都不一样。
区别就在于:
(1)两者语言级别不同。Matlab是第4代语言,属于高级语言,C语言是第3代中级语言。
(2)两者用处不同。Matlab是一种脚本语言,主要用于数学计算科学计算,是一种商业数学软件,是一种数值计算环境和编程语言,而C语言是一种面向过程程序设计语言,主要用于底层硬件或操作系统的程序设计,是一种通用的、程序式的编程语言,广泛用于系统与应用软件的开发。
(3)两者语言特征不同。C语言具有高效、灵活、功能丰富、表达力强和较高的移植性等特点,而Matlab本身基于矩阵运算,并无成长空间,且有一些插件是可以MATLAB代码生成C语言。
会不会英语关系不大,只要愿意花时间去背一些常用的单词就可以的。

扩展资料:
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。
是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,
为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,
故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
参考资料:MATLAB_百度百科

3. matlab是哪种编程语言,主要能做什么?

MATLAB® 是一种对技术计算高性能的语言。它集成了计算,可视化和编程于一个易用的环境中,在此环境下,问题和解答都表达为我们熟悉的数学符号。典型的应用有:

数学和计算 
算法开发 
建模,模拟和原形化 
数据分析,探索和可视化 
科学与工程制图 
应用开发,包括图形用户界面的建立 
MATLAB是一个交互式的系统,其基本数据元素是无须定义维数的数组。这让你能解决很多技术计算的问题,尤其是那些要用到矩阵和向量表达式的问题。而要花的时间则只是用一种标量非交互语言(例如C或Fortran)写一个程序的时间的一小部分。 .

名称“MATLAB”代表matrix laboratory(矩阵实验室)。MATLAB最初是编写来提供给对由LINPACK和EINPACK工程开发的矩阵软件简易访问的。今天,MATLAB使用由LAPACK和ARPACK工程开发的软件,这些工程共同表现了矩阵计算的软件中的技术发展。

MATLAB已经与许多用户输入一同发展了多年。在大学环境中,它是很多数学类、工程和科学类的初等和高等课程的标准指导工具。在工业上,MATLAB是高产研究、开发和分析所选择的工具。 

MATLAB以一系列称为工具箱的应用指定解答为特征。对多数用户十分重要的是,工具箱使你能学习和应用专门的技术。工具箱是是MATLAB函数(M-文件)的全面的综合,这些文件把MATLAB的环境扩展到解决特殊类型问题上。具有可用工具箱的领域有:信号处理,控制系统神经网络,模糊逻辑,小波分析,模拟等等。

matlab是哪种编程语言,主要能做什么?

4. matlab可以用哪些编程语言

matlab自己的m语言。
别的C,FORTRON都只是引用而已。

5. Matlab是严格意义上的编程语言吗

不算是。只有你有C语言的基础,Matlab就很容易。Matlab是边解释边执行。另外Matlab集成了大量的自带函数,比如矩阵计算,画图,谱分析。。。这就不符合标准编程语言的特点。你如果明白类和对象的概念,对用好Matlab很有帮助。所以Matlab属于科学计算工具,而不是严格的一门编程语言。

Matlab是严格意义上的编程语言吗

6. Matlab编程和其他语言的区别

一、字符和字符串
在MATLAB中不管是字符,还是字符串都是用单引号。而在C、C++、C#、Java等语言中,字符是用单引号的,字符串则必须用双引号。因此在MATLAB中如果需要在字符串中用到单引号的话,就要用两个单引号来代替。
如:
>> a='this''is an apple'
a =
this'is an apple
同理,如果字符串中需要双引号的话,可以用四个单引号来代替。如下:
>> b='I''''am Tim'
b =
I''am Tim
在MATLAB中的字符串连接,我们可以使用一对中括号。当然,这种连接方式也适用于向量、矩阵等的连接。如下:
>> c=[a b]
c =
this'is an appleI''am Tim
>> a1=[1 2];b1=[3 4];
>> c1=[a1 b1]
c1 =
1 2 3 4
>> c2=[a1;b1]
c2 =
1 2
3 4
但是,对于字符串的连接不能使用加号(+)来进行。这点和在C++、C#、Java等语言中是不一样的。因为在MATLAB中这些字符串也是以矩阵的形式存储的,你要是用加号的话,需要两个矩阵的大小一致。比如:
>> a2='hello';b2='mustb';
>> a2+b2
ans =
213 218 223 224 209
但是,很明显,加完之后都是一系列的值了。本来,这些字符串也是以数值的形式存储的。而我们要取的字符串中某一个字符的时候,也是很方便的,直接像引用矩阵的元素一样。如下:
>> a2(1)
ans =
h
>> a2(4)
ans =
l
>> find(a2>'i')
ans =
3 4 5
可以看到,a2里面在字母i后面的字符有第3、4、5个字符,也就是llo了。
在MATLAB中要将一个数字转换为字符可以用num2str,将字符转换为数字可以用str2num。如下:
>> stra1=num2str(a1)
stra1 =
1 2
>> class(stra1)
ans =
char
>> strb1='[3 4]';
>> str2num(strb1)
ans =
3 4
对于strb1,我们可以使用eval函数,该函数可以将字符串作为一个MATLAB命令去执行。如下:
>> p=eval(strb1)
p =
3 4
相当于p=[3 4]。
当然了,C语言里面的sprintf、fprintf函数我们都是可以在MATLAB中使用的。比如:
>> sprintf('Tim is %d years old.',24)
ans =
Tim is 24 years old.
至于fprintf函数,则需要用fopen去打开一个文件,然后写入数据进去。如下:
>> fd=fopen('a.txt','w+');
>> fprintf(fd,'I am Tim.\n');
>> fprintf(fd,'My age is %d\n',24);
>> fclose(fd);
然后,用MATLAB Editor打开MATLAB当前目录下的a.txt就可以看到:

但是,当你用记事本打开的时候会看到:

这是因为在Windows上要想换行需要\r\n,而不能单是\n。

二、if语句、for语句、switch语句、while语句、try-catch语句都以end结尾
在MATLAB中,没有goto和do…loop和do…while语句。而且语句的结尾都是以end结尾的。
>> t=4;
>> if(t<5),disp('t is smaller than 5.'),end
t is smaller than 5.
当然,if语句也可以有else语句。
>> if(t>5),disp('t is bigger than 5.'),else,disp('t is smaller than 5.'),end
t is smaller than 5.
还可以用elseif。
>> if(t>5),disp('t is bigger than 5.'),elseif(t==5),disp('t is equal 5.'),else,disp('t is smaller than 5.'),end
t is smaller than 5.
在MATLAB中,由于矩阵的索引都是从1开始的,这点和C、C++、C#、JAVA等语言是不一样的。所以,在循环的时候建议从1开始循环,而且循环的时候不推荐用变量i和j。因为这两个变量在MATLAB中表示的是复数的虚部变量。当然,如果你的程序里面没有复数,就不用怕。如果有复数,就要小心了。
之所以从1开始,是因为大多数时候我们使用循环是为了依次能访问到矩阵的每一个元素,所以,如果矩阵的索引出现了0,那么就会报出错误。所以,从1开始循环,是一种很好的习惯,而不是要求你必须这样做。
而且,在for循环中,你的循环变量不仅可以是一个数,也可以是一个向量。看下面的程序:
>> aa=[1 2;3 4; 5 6;7 8];
>> for i=aa,disp(i),end
1
3
5
7
2
4
6
8
>> aa
aa =
1 2
3 4
5 6
7 8
也就是说,i第一次的值是aa的第一列,i第二次的值是aa的第二列。这样的话,这个循环变量i就不仅仅是一个数了,二是一列数。
在MATLAB中,switch语句中是不用break的,而且默认的选项不是default,而是otherwise。如下:
a=5;
switch(a),
case 1,
disp('a is 1.');
case 2,
disp('a is 2.');
case 5,
disp('a is 5.');
otherwise,
disp('sorry, i do not know.');
end
还需要注意的是case后面没有分号,而C、C++、C#、Java等语言中是必须是分号的。在MATLAB中可是没有分号,我程序中的逗号,也可以是没有的。指向上面的程序,在MATLAB中的输出是:
a is 5.
至于while语句的使用和C、C++、C#、Java等语言中的while基本上是一致的。如下:
a=5;
b=0;
while a>0
b=b+a;
a=a-1;
end
b
a
Matlab命令窗口的输出是这样的:
b =
15
a =
0
try-catch语句一般是用来捕捉错误的。
try
a=input('Input a number: ');
catch
error('unknown error.');
end
当运行上面的程序,在MATLAB中输入:
Input a number: #
??? Error using ==> tim_try at 4
unknown error.

三、变量不用声明
在MATLAB中的变量是可以不用声明的,这点和C类语言和Java是有很大区别的。但是,为了程序更清晰和加快程序的执行速度,提供初始化和声明有时是必要的。不如,
b=[];
for i=1:10
b=[b i];
end
b
在MATLAB命令窗口的输出如下:
b =
1 2 3 4 5 6 7 8 9 10
如果你不初始化b为空的话,如下:
for i=1:10
b=[b i];
end
b
在命令窗口的输出如下:??? Undefined function or variable 'b'.
上面说过了,中括号[]可以用来合并向量的,这里变量b不存在,因此不能合并。所以会出错。

四、没有++、--操作符
在MATLAB中是没有++和--操作符的,因此需要转换。如a++; 可以转化为a=a+1;至于++a;你只需要将a=a+1的位置放到前面就可以了。

五、点乘、点除,但没有点加、点减
在点乘,是矩阵中的对应元素相乘。而不是矩阵的乘法。点除也是同样道理,对应元素想除。至于点加,就相当于加法。因为加减法本身就是对应元素的加减。

六、左除和右除
在C类和Java等语言中,除法就是一个操作符(/),但在MATLAB中(/)和(\)是有区别的。/代表的是右除,\代表的是左除。
>> A=[1 2;3 4];B=[5 6;7 8];
>> C1=A\B
C1 =
-3 -4
4 5
所以A左除B,就相当于A的逆矩阵乘B。
>> inv(A)*B
ans =
-3.0000 -4.0000
4.0000 5.0000
那么可想而知,A右除B,就相当于A乘B的逆矩阵。
>> A/B
ans =
3.0000 -2.0000
2.0000 -1.0000
>> A*inv(B)
ans =
3.0000 -2.0000
2.0000 -1.0000

七、MATLAB的编程思想
当你用MATLAB来写程序的时候,尽量以向量、矩阵为单位来考虑问题。也就是在MATLAB中常常能用一个点乘来代替多个循环的操作。也就是用向量化的操作来代替循环,这样能够大大的提高MATLAB程序的运行速度。
举个简单的例子:
clear all
clc
a=round(rand(100)*100);
b=round(rand(100)*100);

tic
f1=a.*b;
toc

tic
for i=1:100,
for j=1:100,
f2(i,j)=a(i,j)*b(i,j);
end
end
toc
在命令窗口的输出如下:
Elapsed time is 0.000035 seconds.
Elapsed time is 0.001871 seconds.
如果我们给f2初始化下,看看能不能加快速度。
clear all
clc
a=round(rand(100)*100);
b=round(rand(100)*100);

tic
f1=a.*b;
toc

f2=zeros(100);
tic
for i=1:100,
for j=1:100,
f2(i,j)=a(i,j)*b(i,j);
end
end
toc
此时,命令窗口的输出如下:
Elapsed time is 0.000024 seconds.
Elapsed time is 0.000147 seconds.
可以看到后面的循环的时间明显提高了很多。那么我们为上面的点乘运算的f1也初始化的话,速度会如何?
Elapsed time is 0.000022 seconds.
Elapsed time is 0.000146 seconds.
可以看到速度提升的不是很明显。如果你将a和b的维数增长到10000的话,提示的速度就明显了很多了。

7. matlab是什么编程语言啊?是英文里面的什么单词的意思啊?

[提问前请先在知道搜索,谢谢] MATLAB是一门计算机编程语言,取名来源于Matrix Laboratory,本意是专门以矩阵的方式来处理计算机数据,它把数值计算和可视化环境集成到一起,非常直观,而且提供了大量的函数,使其越来越受到人们的喜爱,工具箱越来越多,应用范围也越来越广泛。MATLAB的发展历史见下表1-1。(年份不详的请知道的网友补充。)时间 版本 1985 1.0 1986 2.0(含控制系统工具箱) 1988 3.9 1993 4.0(含Simulink1.0) 1994 4.2(含simulink2.0) 不详 4.3 不详 5.3 2000 6.0(含Simulink4.0) 2001 6.1(含Simulink4.1) 不详 6.21 2003 6.5 1.1 安装 MATLAB的安装非常简单,这里以Windows版本6为例。运行setup后,输入正确的序列号,选择好安装路径和安装的模块,几乎是一直回车就可以了。这里有一点要注意的是,由于不同操作系统设置,可能会出现一些意外错误,而且越高版本的MATLAB对计算机系统的要求也越高,如6.1版本要求至少64M内存,最好128M。所以根据自身情况选择适合的版本安装,最好还要在操作系统初安装后就安装,避免出现意外。 1.2 运行 MATLAB的启动运行:#:\MATLAB6p1\bin\win32\matlab.exe(其中#为安装盘符。)但一般安装完毕后会在安装目录下有一个快捷运行方式。 MATLAB启动后显示的窗口称为命令窗口,提示符为“>>”。一般可以在命令窗口中直接进行简单的算术运算和函数调用。如果重复输入一组表达式或计算复杂,则可以定义程序文件来执行达到目的。程序文件扩展名为“.m”,以文本文件形式保存。有两种方式运行程序文件:一是直接在MATLAB命令窗口输入文件名,二是选择File->Open打开m文件,弹出的窗口为MATLAB编辑器。这时可选择它的Debug菜单的Run子菜单运行。 1.3 帮助文件 学习MATLAB软件最好的教材是它的帮助文件。只要硬盘容量够大,极力推荐安装完整的帮助文档,即使你对阅读英文不是很有信心,但我相信其足够的实例还是能让你对要查询的命令函数有一定的了解的。有两种方法取得帮助信息:一是直接在命令窗口输入>>help 函数名;如help imread,会得到相应函数的有关帮助信息。二是在帮助窗口中查找相应信息。不同版本的帮助菜单界面有所不同,这只能依赖于你自己去熟悉了。但总体上都和windows的界面具有相似的处理过程。 1.4 MATLAB所定义的特殊变量及其意义变量名 意义 help 在线帮助命令, 如用help plot调用命令函数plot的帮助说明。 who 列出所有定义过的变量名称 ans 最近的计算结果的变量名 eps MATLAB定义的正的极小值=2.2204e-16 pi π值3.14159265... inf ∞值,无限大 NaN 非数 1.5 MATLAB中的运算符和特殊字符说明符号 符号用途说明 + 加 - 减 .* 点乘 详细说明help arith * 矩阵相乘 ^ 矩阵求幂 .^ 点幂 \ 左除 详细说明help slash / 右除 .\ 点左除 ./ 点右除 kron 张量积 详细说明help kron , 作分隔用,如把矩阵元素、向量参数、函数参数、几个表达式分隔开来 ; (a)写在一个表达式后面时,运算后命令窗口中不显示表达式的计算结果 (b)在创建矩阵的语句中指示一行元素的结束,例如m=[x y z;i j k] : (a)创建向量的表达式分隔符,如x=a:b:c (b)a(:,j)表示j列的所有行元素;a(i,:)表示i行的所有列元素;a(1:3,4)表示第四列的第1行至第3行元素 () 圆括号 〔〕 创建数组、向量、矩阵或字符串(字母型) {} 创建单元矩阵(cell array)或结构(struct) % 注释符,特别当编写自定义函数文件时,紧跟function后的注释语句,在你使用help函数名时会显示出来。 ' (a)定义字符串用 (b)向

matlab是什么编程语言啊?是英文里面的什么单词的意思啊?

8. 计算机 编程:matlab是一种脚本语言吗?

.m文件是脚本
.mex是二进制可执行文件
.fig也算是一种脚本吧