Matlab_结构化程序及自定义函数
%注释%% section == 节 -> runsection- c中是
!=matlab是~= - end 作为代码块结束语句
disp('xx') == printf()- switch
1
2
3
4
5
6
7
8
9
10
11input_num = 1;
switch input_num
case -1
disp('');
case 0
disp('');
case 1
disp('');
otherwise
disp('');
end - while
1
2
3
4prod(1:n) %计算阶乘
prod(a)
1.向量的话,计算每个元素乘积
2.非空矩阵 计算每一列的元素乘积然后行向量1
2
3
4
5
6
7
8
9
10
11
12
13
14%%
n = 1
sum = 0
while n<=999
sum = n + sum
n = n + 1
end
disp(sum)
%%
n = 1
while prod(1:n) < 1e100
n = n + 1
end
disp(n) - for
1
2
3
4for variable = start:increment:end
commands
end
% 标准
1 | |
1 | |
- 预先声明内存耗时非常少(具体看内存使用情况)
tic toc用来在代码块中计时;的作用是:是否显示在命令行
1 | |
...代表换行
1 | |
- matlab中 function 以 文件 的形式写
- 打开一个缺省函数定义
edit(which('mean.m')) - 用
function这个 keyword 来建一个自己的函数,并且filename == functionname function y = filename(a,b,c)- 建议用
.*或者./,因为如果参数是向量 - 如果是
script,就不会有function这个keyword
functions with multiple inputs ans outputs 函数有 多种输入和输出调用1
2
3function [a F] = acc(v2,v1,t2,t1,m)
a = (v2 - v1) ./ (t2 - t1);
F = m .* a;1
2
3
4
5
6
7tic
[a b] = acc(2,1,2,1,1)
[c d] = acc(4,1,2,1,0.5)
[Acc Force] = acc([2 4],[1 1],[2 2],[1 1],[1 0.5]);
%Acc和Force分别是用行向量来存每一组的结果,但是将每一组对应结果就转成列向量看
[Acc' Force'] %转成列向量看每一组的结果
toc- function handle(函数句柄)
- 相当于创建一个函数指针
1
2
3
4
5
6f = @(x) cos(x)
f 指向 cos 这个函数
%等价于
f.m
function y = f(x)
y = cos(x)
14.输入
1 | |
小练习
1.摄氏温度转华氏温度function
1 | |
带输出输入
1 | |
Matlab_结构化程序及自定义函数
https://blog.989883.xyz/2019/06/09/csdn/Matlab_结构化程序及自定义函数/