语句
输入输出语句
- 输入语句
a = input('Enter 123') % 可以输入整数,也可以输入char比如‘apple’;或者string比如“apple”
string = input('Enter 123','s') % 输入string
- 输出语句
area = 1
disp(area) % 1
fprintf('%f %c %d %s \n', 0.9,'a',1,65) % 0.9 'a' 1 'a'
% \n是换行 \t是tab
fprintf('%3.1f', 0.98) % 0.9 一共三个字符,小数点后一位
fprintf('|%-3.1f|', 0.98) % -就是向左对齐
fprintf('|%+3.1f|', 0.98) % +就是向右对齐
图像绘制
- 例子1
x = 11;
y = 11;
plot(x,y,'r*') % 用红色的*表示一个点
axis([9 12 25 55]) % 坐标轴的 xmin xmax ymin ymax
xlabel('x坐标的名称')
ylabel('y坐标的名称')
title('图像的名字')
- 例子2
x = 1:6;
y = [1 5 3 9 11 8];
plot(x,y,'r*-.') % 用红色的*表示一个点,-.是线的显示
hold; % 执行一次hold就是擦画图的状态,就是想系统变量ishold变为1或者0;ishold=1是不擦画布的状态,两个图像就会重叠
plot(x,y,'x-.') % 用x表示一个点,-.是线的显示
xlabel('x坐标的名称')
ylabel('y坐标的名称')
title('图像的名字')
- 例子3,图像的重叠开关
x = 1:6;
y = [1 5 3 9 11 8];
hold on; %将画布的状态转化为开ishold=1,就是可以重叠图像;
plot(x,y,'r*-.') % 用红色的*表示一个点,-.是线的显示
plot(x,y+1,'x-.') % 用x表示一个点,-.是线的显示
hold off; %将画布的状态转化为关ishold=0,就是擦画布,就是不可以重叠图像;
xlabel('x坐标的名称')
ylabel('y坐标的名称')
title('图像的名字')
-
线的颜色
-
例子4,重建画布
x = 1:6;
y = [1 5 3 9 11 8];
plot(x,y,'r*-.') % 用红色的*表示一个点,-.是线的显示
figure(); % 新建画布 figure(1)或者指定画布
% close(1); % 可以直接关闭某个画布
% clf; % = close(1) + figure(1) ,如果有figure(1)和figure(2),那么就是对figure(1)进行操作
plot(x,y+1,'x-.') % 用x表示一个点,-.是线的显示
xlabel('x坐标的名称')
ylabel('y坐标的名称')
title('图像的名字')
- 例子5,一个画布多坐标
close all;
x = 1:6;
y = [1 3 5 7 9 10];
figure(1);
subplot(2,1,1); % 选中第一块画布
plot(x,y,'x-');
hold off; % 不可以重叠
subplot(2,1,2); % 选中第二块画布
plot(x,y,'o-');
hold on; % 可以重叠
plot(x,y+1,'o-');
cla; %清空最后一块画布的内容
- 网格和图例
grid on; % 网格的开启
legend('line1','line2') % 有几条线,就可以有几个图例
- 条形图
bar(1:10,randi([1,9],[1,10])) % 横坐标1到10,纵坐标随机生成1到9的数,总共10个数
- 文件的操作
%文件的覆盖存储
mymat = rand(2,3) % 随机生成一个2行3列的矩阵
save testfile.dat mymat -ascii % 将mymat存储在testfile.dat文件中,.dat和.txt都可以为扩展名结尾
type testfile.dat % 打印出testfile.dat中的内容
%文件的追加存储
save testfile.dat mymat -ascii -append % -append文件追加的存储
%文件的读取
load testfile.dat % 读取文件里的数据并且放到内存中
- 例子6,练习题
mat = [1.2 1.4 1.8 1.3;2.2 2.5 1.7 2.9];
save mat1.dat mat -ascii;
load mat1.dat
asales = mat1(1,:);
bsales = mat1(2,:);
hold on;
plot(asales,'ko');
plot(bsales,'k*');
hold off;
xlabel('Quarter');
ylabel('Sales (billions)');
title('2013');
legend('D A','D B');
函数
% 文件名字为threeNote1
function area = calcarea(rad)
% 这里可以加注释
area = pi * rad ^ 2; % area = pi * rad .^ 2; % .^可以接收向量
end
- 调用
threeNote1(2) % 是以文件的名字调用的,不是以函数名字调用的
threeNote1([1 2 3]) % .^可以接收向量
- 等效调用
hold('on') % = hold on
save('testfile.dat','mymat', '-ascii', '-append') % = save testfile.dat mymat -ascii -append