1.变量
- 和c不同,matlab对于变量可以直接用,不用提前声明
- 和c一样,大小写敏感
- 和c一样,matlab的关键字不做变量名(使用iskeyword查看)
- 和c一样,matlab的变量不能以数字开头
综上,和c编程类似,一定原因也是matlab是用c写的。其语言的共性很多。
1.1变量类型
数值类型 | 说明 |
---|---|
double | 双精度浮点 |
single | 单精度浮点 |
int8 | 8位有符号整型 |
int16 | 16位有符号整型 |
int32 | 32位有符号整型 |
int64 | 64位有符号整型 |
uint8 | 8位无符号整型 |
uint16 | 16位无符号整型 |
uint32 | 32位无符号整型 |
uint64 | 64位无符号整型 |
char | 字符型 |
注意:
- 不显式指明变量类型,则为默认为double
- 应避免变量和函数名,脚本名同名,若出现此情况,优先当做变量名
1.2字符串的索引
cos='This string.';
cos(8) % 对字符串进行索引取值,得到'r'
与c相比,[] 改为了();
1.3工作区间的格式控制
格式命令:
格式命令 | 命令 |
---|---|
紧凑显示格式 | format compact |
宽松显示格式 | format loose |
数据高精度显示 | format long |
数据低精度显示 | format short |
以分数显示 | format rat |
注:分数和小数显示可能存在不一样,但是内部存储值的都一样。
R=rat(x), 将小数以分数的形式给R,实际上是个字符串
2.脚本编写
左上角的新建脚本按钮。
for i=1:10
x=linspace(0,10,100);
plot(x,sin(x+1))
print(gcf,'-deps',strcat('plot',num2str(i),'.ps'))
end
%
是注释
两个%
是section,讲脚本分为很多节,可以选择执行某部分代码。
3.结构程序设计
3.1逻辑运算符
数值类型 | 说明 |
---|---|
< | 小于 |
<= | 小于或等于 |
> | 大于 |
>= | 大于或等于 |
== | 等于 |
~= | 不等于 |
&& | 与 |
|| | 或 |
注意:只有~= 和c不一样。
3.2控制语句
关键字 | 说明 |
---|---|
if,elseif, else | 如果condition为真,执行语句 |
for | 执行指定次数的语句 |
switch, case, otherwise | 执行几组语句中的一组 |
try, catch | 执行语句并捕获产生的错误 |
while | 当condition为true时重复 |
break | 执行语句终止for或while循环的 |
continue | 执行将控制传递给for或while循环的下一个迭代 |
end | 终止代码块,或指示最后一个数组索引 |
pause | 暂时停止 |
return | 执行返回对调用函数的控制 |
和c的顺序循环关键字差不多,需要体会其中的差异。
也还有其他的关键字。
3.3 条件判断 if elseif else
a = 3;
if rem(a, 2)==0
disp('a is even')
else
disp('a is odd')
end
3.4 条件判断 switch, case, otherwise
- switch与c的不同,不需要break跳出。不会都执行。
- otherwise相当于c中的defult
- 注意:break会结束for和while的语句,不结束switch。
switch num
case -1
disp('num:-1');
case 0
disp('num:0');
otherwise
disp('other value')
end
这里的disp相当于c语言的printf函数。在窗口打印信息。
3.5 while
prod(1:n) 函数的意思是(从1到n连乘起来) 是 n的阶层
n = 1;
while prod(1:n) < 1e100
n=n+1;
end
for
for n=1:10
a(n) = 2^n;
end
disp(a)
综上:和c类似,有特有的格式,但很多操作比c语言灵活。
参考于
MATLAB教程_台大郭彦甫 https://www.bilibili.com/video/BV1GJ41137UH?p=1
被抛弃的写随笔公众号改写技术文章了,感兴趣的可以关注公众号:王崇卫