第一部分:基础知识
常用命令:
clc %清除命令行窗口
clear %清空工作区数据
cd %显示或改变工作目录
clf %清除图形窗口
help %打开帮助文档
save %保存内存变量到指定文件
hold %保持图形
close %关闭当前图窗
quit %退出
变量:
变量名必须以字母开头,之 后可以是任意的字母、数字或 下划线;
变量名区分字母的大小写;
变量名不超过31个字符。
常量:
ans %默认变量
pi %圆周率
inf %无穷大
exp(1) %自然底数e
eps %浮点运算的相对精度
数据类型:
%%数字
1,2,3;
%%向量
a=[2 4 6 8];
x=1:2:10;
x=linspace(1,10,10);
%%矩阵
a=[2 4;6 8];
%%字符串
'hello world'
运算符
+ %算数加
- %算数减
* %算数乘
.* %点乘
^ %算数乘方
/ %算数右除
' %矩阵转置
== %等于
常用函数
abs %模
sqrt %平方根
exp %e指数
sin %正弦函数
第二部分:基础运算
变量赋值
%数值
a=3;
%向量
b=[1 2 3];
c=[1,2,3];
d=linspace(1,3,3);
e=1:1:3;
%矩阵
f=[1,2,3;4,5,6];
%字符串
g='hello world';

数学运算

逻辑计算

注释
%后面的是注释
CTRL+R快捷键注释
CTRL+T快捷键取消注释
第三部分:程序基础
程序设计

程序结构
循环结构:
for循环
for 变量=表达式
可执行语句1
end
2. while 循环
while 表达式
可执行语句1
end
分支结构
if 表达式
语句1
else
语句2
end

第四部分:函数句柄
直接通过@符号定义
fun1=@(参数1,参数2,...)函数表达式
myfun1=fun1(变量1,变量2)
%example1
fun1=@(x,y)(x.^2+y.^2)
myfun1=fun1(2,3)
%example2
x=1:1:10;
y=linspace(10,20,10);%10 11 12 13 14 15 16 17 18 19
fun2=@(x,y)(x.^2+y.^2)
myfun2=fun2(x,y)
M文件定义和调用函数
%example
function[输出形参表:output1,output2,...,outputn]=函数名(输入形参表:input1,...,inputn)
注释说明部分
函数体代码部分
end
myfun1=fun1(x,y);
function f1=fun1(x1,y1) %%一般这个定义函数部分都会放在这个程序的最下面
f1=x1.^2+y1.^2;
end
第五部分:画图基础
基础命令
figure | 创建一个图形窗口 |
close all | 关闭打开的matlab文件 |
hold on | 保持当前轴及图形不变 |
grid on | 显示当前坐标区的主网格线 |
plot(x,y) | 创建x-y的二维线图 |
polarplot(theta,rho) | 在极坐标中绘图 |
plot3(x,y,z) | plot(x,y)的三维拓展 |
plot(x1,y1;x2,y2...) | 绘制多条曲线 |
%example
clc;%%清除命令行窗口
clf;%%清除图形窗口
clear;%%清除工作区数据
close;%%清除打开的matlab文件
%创建x,y变量
x=linspace(-pi,pi);
y=cos(x);
plot(x,y);
figure
polarplot(x,y)


美化线条
plot(x,y,s) s为单引号标记的字符串,用来设 置所画数据点的类型、大小、颜色 以及数据点之间连线的属性。
'r' | red | '-' | 实线 | 'o' | 圆圈 |
'g' | green | '--' | 虚线 | '+' | 加号 |
'b' | blue | ':' | 点线 | '*' | 星号 |
'k' | black | '-.' | 点划线 | '.' | 点 |
LineWidth | 线宽 |
%example
clc;%%清除命令行窗口
clf;%%清除图形窗口
clear;%%清除工作区数据
close;%%清除打开的matlab文件
% x=linspace(-pi,pi);
% y=cos(x);
% plot(x,y);
% figure
% polarplot(x,y)
clc;
clf;
clear;
close;
x=linspace(-pi,pi);
y=cos(x);
%%plot(x,y,'r-o',LineWidth=0.5);
plot(x,y,'r-o','LineWidth',0.5);

坐标轴设置
xlabel/ylabel | 坐标轴标签 |
xlim/ylim | 坐标轴范围调整 |
Axes 属性
官网中的Axes属性文档
%example1
%绘图
clc;%%清除命令行窗口
clf;%%清除图形窗口
clear;%%清除工作区数据
close;%%清除打开的matlab文件
x=linspace(-pi,pi);
y=cos(x);
%%plot(x,y,'r-o',LineWidth=0.5);
plot(x,y,'r-o','LineWidth',0.5);
%修改Axes属性
ax=gca;%%获取图形信息
ax.FontSize=12;%%字体大小
ax.TickDir='out';%% 刻度线方向
ax.TickLength=[0.02 0.02];%%刻度线长度
ax.YLim=[-2 2];%%刻度范围

%example2
%绘图
clc;%%清除命令行窗口
clf;%%清除图形窗口
clear;%%清除工作区数据
close;%%清除打开的matlab文件
x=linspace(-pi,pi);
y=cos(x);
%%plot(x,y,'r-o',LineWidth=2);
plot(x,y,'r-o','LineWidth',2);
%坐标轴
xlabel('x','FontSize',18,'FontWeight','bold');
ylabel('y','FontSize',18,'FontWeight','bold');
%set实现图形对象属性
set(gca,'Fontsize',18,'Fontweight','bold','Position',[0.1 0.16 0.71 0.8]);
set(gca,'LineWidth',3,'Tickdir','in','TickLength',[0.0215,0.015],'YMinorTick','off','XMinorTick','off');
%坐标轴范围
xlim([-pi pi]);
ylim([-1 1]);

对数坐标轴
半对数坐标系 | |
semilogx(x,y) | x轴以10为基数的对数刻度 |
semilogy(x,y) | y轴以10为基数的对数刻度 |
双对数坐标系 | |
loglog(x,y) | x,y轴以10为基数的对数刻度 |
%example
clc;%%清除命令行窗口
clf;%%清除图形窗口
clear;%%清除工作区数据
close;%%清除打开的matlab文件
x=0:1:1000;
y=0:10:1e4;
subplot(2,2,1);
semilogy(x,y);
subplot(2,2,2);
semilogx(x,y);
subplot(2,2,[3,4]);
loglog(x,y)

一图多线
hold on
plot(x1,y1,x2,y2,x3,y3...)
%example
%绘图
clc;%%清除命令行窗口
clf;%%清除图形窗口
clear;%%清除工作区数据
close;%%清除打开的matlab文件
x1=linspace(-pi,pi);
y1=cos(x1);
%%plot(x,y,'r-o',LineWidth=2);
plot(x1,y1,'r-o','LineWidth',2);
%坐标轴
xlabel('x','FontSize',18,'FontWeight','bold');
ylabel('y','FontSize',18,'FontWeight','bold');
%set实现图形对象属性
set(gca,'Fontsize',18,'Fontweight','bold','Position',[0.1 0.16 0.71 0.8]);
set(gca,'LineWidth',3,'Tickdir','in','TickLength',[0.0215,0.015],'YMinorTick','off','XMinorTick','off');
%坐标轴范围
xlim([-pi pi]);
ylim([-1 1]);
hold on;%%保持图像不变
x2=linspace(-pi,pi);
y2=sin(x2);
%%plot(x,y,'b--*',LineWidth=2);
plot(x2,y2,'b--*','LineWidth',2);
%坐标轴
xlabel('x','FontSize',18,'FontWeight','bold');
ylabel('y','FontSize',18,'FontWeight','bold');
%set实现图形对象属性
set(gca,'Fontsize',18,'Fontweight','bold','Position',[0.1 0.16 0.71 0.8]);
set(gca,'LineWidth',3,'Tickdir','in','TickLength',[0.0215,0.015],'YMinorTick','off','XMinorTick','off');
%坐标轴范围
xlim([-pi pi]);
ylim([-1 1]);
legend('cosx','sinx')%%多线条最好有图例说明一下

%该代码生成的图形和上图一样,最大的不同在于双线条的画法不同
%绘图
clc;%%清除命令行窗口
clf;%%清除图形窗口
clear;%%清除工作区数据
close;%%清除打开的matlab文件
x1=linspace(-pi,pi);
y1=cos(x1);
x2=linspace(-pi,pi);
y2=sin(x2);
plot(x1,y1,'r-o',x2,y2,'b--*',LineWidth=2);
%坐标轴
xlabel('x','FontSize',18,'FontWeight','bold');
ylabel('y','FontSize',18,'FontWeight','bold');
%set实现图形对象属性
set(gca,'Fontsize',18,'Fontweight','bold','Position',[0.1 0.16 0.71 0.8]);
set(gca,'LineWidth',3,'Tickdir','in','TickLength',[0.0215,0.015],'YMinorTick','off','XMinorTick','off');
%坐标轴范围
xlim([-pi pi]);
ylim([-1 1]);
legend('cosx','sinx')%%多线条最好有图例说明一下
双纵坐标轴
%example
%绘图
clc;%%清除命令行窗口
clf;%%清除图形窗口
clear;%%清除工作区数据
close;%%清除打开的matlab文件
x1=linspace(-pi,pi);
y1=cos(x1);
colororder({'b','r'});%设置坐标轴颜色
yyaxis left;
%%plot(x,y,'r-o',LineWidth=2);
plot(x1,y1,'r-o','LineWidth',2);
%坐标轴
xlabel('x','FontSize',18,'FontWeight','bold');
ylabel('y','FontSize',18,'FontWeight','bold');
%set实现图形对象属性
set(gca,'Fontsize',18,'Fontweight','bold','Position',[0.1 0.16 0.71 0.8]);
set(gca,'LineWidth',3,'Tickdir','in','TickLength',[0.0215,0.015],'YMinorTick','off','XMinorTick','off');
%坐标轴范围
xlim([-pi pi]);
ylim([-1 1]);
hold on;%%保持图像不变
yyaxis right;
x2=linspace(-pi,pi);
y2=sin(x2);
%%plot(x,y,'b--*',LineWidth=2);
plot(x2,y2,'b--*','LineWidth',2);
%坐标轴
xlabel('x','FontSize',18,'FontWeight','bold');
ylabel('y','FontSize',18,'FontWeight','bold');
%set实现图形对象属性
set(gca,'Fontsize',18,'Fontweight','bold','Position',[0.1 0.16 0.71 0.8]);
set(gca,'LineWidth',3,'Tickdir','in','TickLength',[0.0215,0.015],'YMinorTick','off','XMinorTick','off');
%坐标轴范围
xlim([-pi pi]);
ylim([-1 1]);
legend('cosx','sinx')%%多线条最好有图例说明一下