MATLAB笔记
Tips
- 脚本加分号表示一条语句,不加分号表示在命令行下执行这条语句(会有相应shu)
- 矩阵每行元素用
;
隔开,同行元素使用,
基本运算符
注释
% 为单行注释
%{
code............
%} 多行注释,其中注释符必须另起一行
输出
disp(x)
直接输出xfprintf('x=%d\n',x)
自定义输出格式x
不加分号(无论在脚本还是命令行)
生成矩阵
a = magic ( 3 )
产生3 * 3 的魔方矩阵,它的每行,每列及对角线的数之和相等,该和的值为1+2+3+.....+n^2的和再除以n,n必须为大于或等于3的整数。a = ones(n)/ones(n,m); %生成 n * n 的全1 矩阵,,生成全1 的 n * m 矩阵,ones可以替换成zeros 生成全0矩阵
,生成全 x 的矩阵: 通过先生成全1的矩阵,
a = a *3
,生成了全3 的矩阵rand
函数则用于产生由在(0, 1)之间均匀分布的随机数组成的数组 ,如rand(4)则是产生一个1行4列的数组,rand(2,3)
则是2行3列矩阵,rand(2,3,4)
则是四个2行3列的矩阵whos
查看工作空间变量
save,load,clear 命令。save用于保存数据到 mat文件中,load用于加载mat文件,clear则是清除当前工作区变量。
画图专题
>> x= -100:100; %x从-100到100;,每隔1取一个点用于作图
>> y = x .*x;
>> plot(x,y) ; % 作图函数
>> x= -3: 0.1: 3; % 设置步长为0.1,即每隔0.1取一个点用于作图
>> axis equal; % 设置轴的单位长度一致
>> grid on; %设置显示网格
>> hold on; %设置保留之前的图像,MATLAB默认新图像覆盖旧图像
>> title ('y vs x'); %在图的顶部添加标题
>> x(y)label('sss'); %为x(y)轴添加标签
同一窗口画多个图像:
subplot(m,n,p);plot(x1,y1);p为先从左往右再从上往下数第p个
subplot(2,2,【3,4】) 3号4号位置画一个图
三维图:
曲线plot3(x,y,z);
彩色曲面surf(x,y,z);彩色网线图mesh(x,y,z);
生成网格[X,y]=meshgrid(x,y);
>> x = 3 : 5; %3 4 5
>> y = 6 : 9; %6 7 8 9
>> [X,y]=meshgrid(x,y);
>> z = x .* 2 + y .* 2;
>> surf(x,y,z);
生成的网格:
(3,6),(4,6),(5,6);
(3,7),(4,7),(5,7);
(3,8),(4,8),(5,8);
(3,9),(4,9),(5,9);
也就是 x 和 y 所围成的正方形中的所有的点
执行meshgrid函数之后
x , y 从一维矩阵变成 3 * 4 的矩阵
x =
3 4 5
3 4 5
3 4 5
3 4 5
y =
6 6 6
7 7 7
8 8 8
9 9 9
线性规划
- 标准形式:向量均为列向量,最后一条语句中缺少的项使用
[]
代替 - 化成求最小值,约束不等式为
<=
号; - 脚本的最后配合输出语句使用
- 切记切记:列向量每行使用
;
隔开 x
为列向量,可以不是\(n*1\),可以是\(n*2\)等等