台大郭彦甫matlab教程笔记(2)——结构化程式与自定函数

二、结构化程式与自定函数
这章主要讲matlab编程以及与函数的结合。
Matlab程序语言,类似于C/C++
台大郭彦甫matlab教程笔记(2)——结构化程式与自定函数_第1张图片
点击最左上角新建脚本,弹出编辑器窗口。
【条件、循环、判断语句以及逻辑符】
台大郭彦甫matlab教程笔记(2)——结构化程式与自定函数_第2张图片台大郭彦甫matlab教程笔记(2)——结构化程式与自定函数_第3张图片
废话不多说,直接上代码,建议在自己软件中运行+理解
【if else】

if rem(a, 2) == 0
disp('a is even')
else
disp('a is odd')
end

【switch】

switch input_num
case -1
disp('negative 1');
case 0
disp('zero');
case 1
disp('positive 1');
otherwise
disp('other value');
end

【while】

n = 1; 
while prod(1:n) < 1e100
n = n + 1;
end

【for】

for n=1:10
a(n)=2^n;
end
disp(a)

【练习】
计算1+2+3+…+999

【预分配的使用】,看例子 //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:size(A,1)
for jj = 1:size(A,2)
A(ii,jj) = ii + jj;
end
end
toc

【break】

x = 2; k = 0; error = inf;
error_threshold = 1e-32;
while error > error_threshold
if k > 100
break
end
x = x - sin(x)/cos(x); error = abs(x - pi);
k = k + 1;
end

matlab代码分为两种:脚本文件和函数文件
【Scripts vs. Functions】

脚本文件 函数文件
1.多条命令的综合体
2.没有输入、输出变量
3.使用MATLAB基本工作空间
4.没有函数声明行
1.常用于扩充MATLAB函数库
2.可以包含输入、输出变量
3.运算中生成的所有变量都存放在函数工作空间
4.包含函数声明行,也就是function
5.脚本文件创建的每个变量都会保存到工作区,而函数文件只有输出结果才保存到工作区;

打开一个函数文件看看:

>>edit(which('mean.m'))

绿色的是注释,剩下的就是代码了,function瞩目。
【练习】:完成以下函数:
在这里插入图片描述
台大郭彦甫matlab教程笔记(2)——结构化程式与自定函数_第4张图片
【参考答案】

function x = freebody(x0,v0,t)
x = x0 + v0.*t + 1/2*9.8*t.*t;
function [a F] = acc(v2,v1,t2,t1,m)
a = (v2-v1)./(t2-t1);
F = m.*a;

[Acc Force] = acc(20,10,5,4,1)

你可能感兴趣的:(台大郭彦甫matlab教程笔记(2)——结构化程式与自定函数)