和C/C++一样,matlab也是一种编程语言。不同点在于matlab提供了很多方便强大的库,从而减少了你的代码量。
理论上matlab能完成的事情,用C/C++也可以完成,只不过别人已经造好了轮子,我们直接拿来用就行了,没必要重复造轮子,例如用C/C++完成一个三阶矩阵的乘法,都会很费劲,matlab就一行代码的事。所以科研和工程中,经常用matlab验证理论可行性后,再用C/C++编写。
因为Matlab也是一种编程语言,所以变量、分支、循环、函数这些语法Matlab之中当然也都是有的。这些都没什么稀奇的,本文主要来介绍一下Matlab的画图功能,这么短的代码就能画出下列图形,是其他语言不容易做到的。
x = -3:0.1:3;
y=x.^2;
plot(x,y,'green-o')
y= [75 91 105 123.5 131 150 179 203 226 249 281.5];
x = 2000:2010;
bar(x,y);
theta = 0:pi/50:6*pi;
x=cos(theta);
y=sin(theta);
z=0:300;
plot3(x,y,z);
x = -4:0.1:4;
y1 = cos(x);
y2 = cos(2.*x);
y3 = cos(4.*x);
subplot(2,2,1);
plot(x,y1);
title('y=cos(x)');
subplot(2,2,2);
plot(x,y2);
title('y=cos(2x)');
subplot(2,2,[3,4]);
plot(x,y3);
title('y=cos(4x)');
x=-3:0.1:3;
y=-3:0.1:3;
[X,Y]=meshgrid(x,y);
Z=X.^2+Y.^2;
surf(X,Y,Z);
t = 0:pi/50:2*pi;
X=cos(t);
Y=sin(t);
plot(X,Y);
hold on;
axis equal;
lineX=[0,1];
lineY=[0,0];
h=plot(lineX,lineY);
theta = 0;
while true
theta=theta+0.05;
lineX(2)=cos(theta);
lineY(2)=sin(theta);
set(h,'XData',lineX,'YData',lineY);
drawnow;
end
在matlab中圆中的半径会绕着中心旋转。