第二节笔记
Script writing(脚本)
Structured programming结构化编程
User-defined function
第一个script
for i=1:10
x=linspace(0,10,101);
plot(x,sin(x+i));
print(gcf,'-deps',strcat('plot',num2str(i),'.ps'));
end
**%**表示注释 ctrl+R注释、CTRL+T取消注释、ctrl+I 智能缩进
%%表示把function分成一个个的小部分,当点击其中小部分时,运行当前节(ctrl+enter)
,就只运行选中的部分,如果点击运行(F5)
,脚本就运行整个function。(调试BUG时有用)
断点调试
在任一行加断点后,运行程序时到断点处会停止运行,且在调试状态下,光标移动到某个参数上,会显示矩阵的详细内容
script Flow
Structured programming 结构化编程
运算符
1.if elseif else
if condition1
statement1
elseif condition2
statement2
else
statement3
end
a=3;
if rem(a,2)==0
disp('a is even')
else
disp('a is odd')
end
运行结果:
rem()函数,取余;rem(a,2) 代表a/2的余数
2.switch
switch expression
case value1
statement1
case value2
statement2
.
.
.
otherwise
statement
end
input_num=0;
switch input_num
case -1
disp('negative 1')
case 0
disp('zero')
case 1
disp('positive 1')
otherwise
disp('other value')
end
运行结果:
3.while
while expression
statement
end
n=1;
while prod(1:n)<1e100
n=n+1;
end
运行结果:
⨳注:
1:n表示向量[1,2,3,4,…,n]
1e100表示科学计数法1*10^100
prod(1:n)=n!
matlab中’prod’函数
定义:B = prod(A) 将A矩阵不同维的元素的乘积返回到矩阵B。
如果A是向量,prod(A)返回A向量的乘积。
如果A是矩阵,prod(A)将A看作列向量,返回每一列元素的乘积并组成一个行向量B。
如果A是多维数组,prod(A)沿着第一个非单例作为向量,返回一个行向量数组。
4.for
for variable=start:increment:end
commands
end
for n=1:10
a(n)=2^n;
end
disp(a)
运行结果:
for n=1:2:10
a(n)=2^n;
end
disp(a)
运行结果:
increment增量
%%
tic
for ii=1:2000
for jj=1:2000
A(ii,jj)=ii+jj;
end
end
toc
%%
tic
A=zeros(2000,2000);
for ii=1:size(A:1)
for jj=1:size(A,2)
A(ii,jj)=ii+jj;
end
end
toc
运行结果:
5.break
可以与if一块用
⨳注(Tips):
1.clear all 清除所有变量
2.close all 关闭所有图形
3.clc 清空控制台,但数值还是存储在变量中
4.‘;’ 语句后加;不会把运行的结果显示出来
5.‘…’ 换行
例如
6.ctrl+C 如果程序执行时间过长,可能会出现错误,按ctrl+C可以把正在执行的语句停止下来,以便查找错误。