for i=1:10
x=linspace(0,10,101);
plot(x,sin(x+i));
print(gcf,'-deps',strcat('plot',num2str(i),'.ps'));
end
3.保存.m文件并运行(F5)
4.注释:%
5.section:%%
6.调试
二:Structured programming
1.操作符
常规:>、<、>=、<=、==
| 操作符 | 含义 |
|---|---|
| ~= | 不等于 |
| && | 与 |
| | | | 或 |
# python :!= and or2.与python不同,matlab不严格要求缩进 3.条件语句
- if elseif else end
# python :if elif else
a=3;
if rem(a,2)==0
disp('a is even')
else
disp('a is odd')
end
- switch case case otherwise end
input_num=1;
switch input_num
case -1
disp('-1')
case 0
disp('0')
case 1
disp('1')
otherwise
disp('other value')
end
4.循环语句
- while end
n=1;
while prod(1:n)<1e100
n=n+1;
end
% 1e100==1*10^100
% prod(1:n)==n!
disp(n)
%计算1+2+3+...+999
n=1;
sum1=0;
while n~=1000
sum1=sum1+n
n=n+1
end
sum1
注:matlab没有+=符号; python有+=没有++
- for end
for n=1:10
a(n)=2^n;
end
disp(a)
5.为变量预宣告位置,可以减少寻找位置的时间
tic——toc:计算程序运行的时间
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:2000
for jj=1:2000
A(ii,jj)=ii+jj;
end
end
toc
1.把矩阵A复制到矩阵B
A=[0 -1 4;9 -14 25;-34 49 64];
B=zeros(3,3);
for ii=1:3
for jj=1:3
B(ii,jj)=A(ii,jj);
end
end
disp(B);
2.将矩阵B中的负数改为正数
for ii=1:9
if B(ii)<0
B(ii)=-B(ii);
end
end
disp(B);
7.tips
1.换行:…
2.终止运行中的脚本:ctrl+c
一个function相当于编写好的一个能够实现某个功能的.m脚本文件
1.查看某个function对应脚本文件的位置(文件名与方法名相同)
which('mean.m');
2.编写程式
function outputs=functionName(inputs)
- freebody(自由落体运动求位移)
function x=freebody(x0,v0,t) x=x0+v0.*t+1/2*9.8*t.*t; %注意,为了实现多组数据同时计算,即每个参数以向量的形式传入,这里需用点乘 %对应位置相乘
- acc(算物体加速度和力)
function [a F]=acc(v2,v1,t2,t1,m) a=(v2-v1)./(t2-t1); F=m.*a;
3.内置参数
nargin:传入参数的个数
nargout:传出参数的个数
4.function handle
functionName=@(inputs)包含inputs的算术式
functionName指向后面这个function
f=@(x)exp(-2*x); x=0:0.1:2; plot(x,f(x));%画出e^-2x图像,x属于(0,2)
5.练习:已知华氏温度求摄氏温度
function C=F2C()
F=input('请输入华氏温度');
while isempty(F)==0
C=(F-32)*5/9;
disp(C);
F=input('请输入华氏温度');
end



