创建并运行第一个 script
创建脚本之后,将下面代码复制到编辑器内,然后点击运行或者摁键盘 F5
for i = 1 : 10
x = linspace(0,10,101);
plot(x,sin(x + i));
print(gcf,'-deps',strcat('plot',num2str(i),'.ps'));
end
运行后会看到一个运动状态的图,第一个 matlab 脚本就已经创建并且运行成功了,暂时先不用理解代码是什么意思,后面会慢慢讲到的
常用快捷键
%
:单行注释ctrl + r
:多行注释ctrl + t
:取消多行注释ctrl + i
:智能缩进%%
:指定节ctrl
+ enter:执行节f5
:运行程序
debug 调试程序
如果程序执行的结果不是我们想要的,但是又不知道哪里出错了,就可以给程序加断点分步调试,看错误在哪里
第一步,加断点
第二步,F5运行程序
第三步,清除断点并退出调试
条件语句
if else
格式:
if condition1
statement1
elseif condition2
statement2
else
statement3
end
示例:
a = 3;
if rem(a,2) == 0 % a对2取余
disp('a是偶数')
else
disp('a是奇数')
end
switch
格式:
switch expression
case value1
statement1
case value2
statement2
...
otherwise
statement
end
示例:
input_num = 1;
switch input_num
case -1
disp('input_num的值是-1')
case 0
disp('input_num的值是0')
case 1
disp('input_num的值是1')
otherwise
disp('input_num的值不确定')
end
while
格式:
while expression
statement
end
示例:
n = 1;
while prod(1 : n) < 1e100 % prod(1:n) = 1*2*3*...n
n = n + 1;
end
for
格式:
for variable = start:increment:end
commands
end
示例:
for n = 1 : 10
a(n) = 2^n;
end
顺带提一句,for
循环有时候在处理数据的时候会很消耗时间,下面举个例子
tic
for ii = 1 : 2000
for jj = 1 : 2000
A(ii,jj) = ii + jj;
end
end
toc % 打印从tic到toc执行的时间 4.6s
但是如果提前做一些处理,比方说提前创建好矩阵,也许能节省不少时间
tic
A = zeros(2000,2000)
tic
for ii = 1 : 2000
for jj = 1 : 2000
A(ii,jj) = ii + jj;
end
end
toc % 打印从tic到toc执行的时间 0.6s
break
break
语句用来终止for
或while
循环的执行。 在循环中,break
语句之后出现的语句不执行。在嵌套循环中,break
仅从它所在的循环中退出。
示例:
a = 10;
while (a < 20)
fprint('value of a: %d\n',a);
a = a + 1;
if(a > 15)
break;
end
end
Script tips
当一个程序很复杂,需要运行很久,可是这时我不想程序继续运行下去了,就可以在命令行窗口摁下ctrl + c
,此时程序就会停止了
Matlab function
格式:
第一个function
这里我自定一个自由落体的 function 作为例子
写完一个 function之后,直接保存,文件名一般情况下默认的是 function的名字,不用改动,然后使用这个 function