matlab语法复习

复习一波matlab,真的是什么都忘了。。。

prewords

首先讲几点matlab语法比较蛋疼的几点,真的是与众不同啊。。。啊啊啊啊

  1. 数组下标的索引是从1开始的
  2. 多维数组的索引是以列为主序的。所以尽量少的用单下标索引数组。
  3. 区间的范围是左闭右闭的原则。(for i = 1:5)
  4. 函数很多都不加括号,例如help tic, tic; toc

几个非常有用的keys:

  • tab自动补全命令
  • ↑↓方向键来找历史命令
  • doc查阅文档
  • m file中选中code blocks来执行命令。
  • 三分点可以续行

基本的语法

  • 变量、赋值的概念
  • 条件判断语句,循环语句等

初始化预分配一个数组提高效率:

1
2
3
4
num = zeros(1, 100);
ii = 1: 100;
num = ii.^2;

sym的使用

定义一个变量:syms x y

1
2
3
4
5
6
7
8
9
10
11
syms x a b
subs(int(x*exp(x), a, b), [a, b], [0, 2])
ans =
exp(2) + 1
syms a b r x y
solve('(x-a)^2+(y-b)^2=r^2','x')
solve('(x-a)^2+(y-b)^2=r^2','y')
a = sym('sqrt(2)')%用来保存一个形式变量,而且这些变量是可以参与数值运算的。

画图

1
2
3
4
5
6
7
8
9
10
%% 画出包络线
>> t = (0:pi/100:pi)';
>> y1 = sin(t)*[1, -1];
>> y2 = sin(t).*sin(9*t);
>> t3 = pi*(0:9)/9;
>> y3 = sin(t3).*sin(9*t3);
>> plot(t, y1, 'r:', t, y2, 'b', t3, y3, 'bo')
ezplot()%设置画图的上下界
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
>> syms x a b
>> subs(int(x*exp(x), a, b), [a, b], [0, 2])
ans =
exp(2) + 1
syms a b r x y
solve('(x-a)^2+(y-b)^2=r^2','x')
solve('(x-a)^2+(y-b)^2=r^2','y')
hist画出来的图的纵坐标表示所在区间范围内数字的个数。
GM模型以算法的实现
元胞自动机的科普
学会画好看的图形
待续。。。多看一点理论吧
matlab向量化的思想,尽量少的使用for循环
什么是运筹学?计算机专业的仿真能力的优势在哪里?
涂色的函数:fill()
spline可以修正误差曲线。
randi([0, 100], 1, 100);
histogram来画重叠的图像。
用画图菜单里面的选亮菜单可以造假。。。
>> x = rand(1, 100);
>> x = rand(1, 100).*10;
>> noise = randn(1, 100);
>> y = 2*x+5+noise;
>> figure;
>> plot(x, y, 'b*');
>> grid on;
>>
lsqcurvefit

未解决的问题

文章目录
  1. 1. prewords
  2. 2. 基本的语法
  3. 3. sym的使用
  4. 4. 画图
  5. 5. 未解决的问题
{{ live2d() }}