Dctave入门基础笔记
基础命令
>> disp("hello world") % 在命令行打印,类似print
hello world
>> a=3.1415926
a = 3.1416
>> disp(sprintf("6 decimals: %0.2f",a)) % 格式化输出
6 decimals: 3.14
>> V = 1:0.1:2 % start:step:end 从开始位置到结束位置,步长为step
V =
Columns 1 through 4:
1.0000 1.1000 1.2000 1.3000
Columns 5 through 8:
1.4000 1.5000 1.6000 1.7000
Columns 9 through 11:
1.8000 1.9000 2.0000
>> ones(2,3) % 生成全一矩阵
ans =
1 1 1
1 1 1
>> eye(4) % 生成单位矩阵
ans =
Diagonal Matrix
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
>> w = zeros(2,3) % 生成指定形状的全0矩阵
w =
0 0 0
0 0 0
>> rand(3,3) % 随机生成0-1之间的指定形状向量
ans =
0.447872 0.596135 0.886622
0.034376 0.110557 0.191476
0.569383 0.633108 0.285596
>> A = [1 2;3 4;5 6]
A =
1 2
3 4
5 6
>> size(A) % 查看A的形状,返回各维度上元素的数量
ans =
3 2
常用绘图命令
plot的简单使用
t=[0:0.01:0.98];
>> y1=sin(2*pi*4*t);
>> plot(t,y1);
>> hold on; % hold on的作用是在原图继续上绘制
>> y2=cos(2*pi*4*t);
>> plot(t,y2,"r");
>> xlabel("time") % xlabel定义横坐标标签,ylabel类似
>> ylabel("value")
>> legend("sin","cos") % 图例
分支结构
语法结构:
if 条件1,
执行体;
esleif 条件2,
执行体2;
...
else,
执行体n;
end;
示例:判断一个数的正负
>> a=1;
>> if a>0,
disp("yes");
else,
disp("no");
end;
循环结构
for循环
语法结构:
for 条件,
循环体
end;
示例:
>> A = zeros(1,10)
A = 0 0 0 0 0 0 0 0 0 0
>> for i=1:10
A(i)=i+1;
end;
>> A
A = 2 3 4 5 6 7 8 9 10 11
while循环
语法结构:
while 条件,
循环体
end;
示例:给A向量前五个元素复制为100
>> A=zeros(10,1);
>> i = 1;
>> while i<=5,
A(i)=100;
i++;
end;
注意:其他语言中的break和continue同样适用,break跳出循环,continue跳出本次循环继续执行下一次循环
函数定义
语法结构:
function 返回值 = 函数名(参数),
函数体;
end;
调用;
函数名(参数)
示例:将A中个元素利用行数加1
>> function y = ad_one(x)
y = x+1;
end;
>> A = zeros(1,10)
A = 0 0 0 0 0 0 0 0 0 0
>> for i=1:10;
A(i) = ad_one(A(i));
end;
>> A
A = 1 1 1 1 1 1 1 1 1 1
>>
注意:和Python编程类似,函数可以返回多个值,用多个变量接收就行