一.基本运算
加:a=5+5 减:a=5-2 立方:a=2^3 乘:a=2*3
|---------|-----------------------------------------------------------------------------------|
| ans | 默认变量名,应答最近依次操作运算结果 |
| eps | 浮点数的相对误差 |
| i,j | 虚数单位,定义==-1 |
| inf | 代表无穷大 |
| ++NaN++ | 代表++不定值++(不是数字) |
| pi | 圆周率 |
二.变量
2.1简单获取
1.计算=a*3,a=2
Matlabclear all %清空 clc %情况工作区 a=2; b=a*3; b
- 通过用户输入来获取变量
Matlab
x=input('请输入数字') %input用于接收数字
y=x*3
3.使用预定变量
Matlab
r=1
L=2*pi*r
S=pi*r*r
2.2数据显示格式
format long 显示小数点后16位
format short 显示小数点后4位
Matlab
%e.i1
format long,pi
format short,pi
%e.i2
format short
a=1.2365846
2.3关系运算符
真:返回1 假:返回0
Matlab
a=5,b=3
a>b %大于
a==b %等于
a<b %小于
三.向量
3.1数组/矩阵
1.手动输入数组。
元素之间用空格/逗号,分号用于换行,制作多行多列矩阵
Matlab
r1 = [7 8 9 10]
r2 = [1,6,9,5]
r3 = [1;5;6;2]
r4 = [1 2;8 2;5 9]
2.冒号创建
x = 开始:间隔:结尾
Matlabx=1:2:13
3.linspace函数创建线性间隔向量
linspace(开始,结束,元素个数)默认个数100
Matlaby=linspace(1,30,10)
3.2向量点积
1.直接.*
Matlab
a = [1 5 6 3];
b = [4 5 6 2];
c=a.*b
sum(c)
2.使用dot函数点积
Matlab
d=dot(a,b)
3.3向量交叉运算
使用cross函数 cross(a,b) 注意:a和b必须为三维向量
Matlaba = [1 2 3]; b = [4 5 6]; c=cross(a,b)
四.交互式命令
4.1input用户输入
Matlab
x = input('请输入数字:');
x
4.2disp显示命令
disp(x) 显示变量x的值
Matlaba = 2*6; b = a*5; disp(b)
4.3pause暂停命令
Matlab
a = 2*6;
pause
b = a*5;
五.分支结构
5.1if-end
if 表达式
语句组
end
ei.
Matlab
clear all
clc
a=6;
b=1;
if a>b
fprintf('a大于b')
end
5.2if-else-end
Matlab
clear all
clc
a=6;
b=1;
if a>b
fprintf('a大于b')
else
fprintf('a不大于b')
end
5.3if-elif-end
判断输入的数字的奇偶性
Matlab
clear all
clc
x=input('请输入数字:')
c=rem(x,2) %求余数的函数
if c==1
fprintf('x为奇数')
elseif c==0
fprintf('x为偶数')
else
fprintf('非数字')
end
5.4嵌套if
if 表达式
语句组
if 表达式
语句组
end
end
判断学号是否正确,且为偶数
Matlab
clear all
clc
y==input('请输入学号:')
if y==124
if rem(y,2)==0
fprint('学号正确,且为偶数')
end
else
fprintf('学号错误')
end
六.循环结构
6.1for循环
for 变量=表达式
执行语句
end
表达式格式通常为 f:s:lf:开始,l:结束,s:默认为1
%d \n 表明结果只能输入十进制整数,\n是普通字符中的换行符
遍历数字1到100
Matlab
for a=1:100
fprintf('值a : %d \n',a)
end
可以设置间隔,间隔可以是负数
Matlab
for a=1:10:100
fprintf('值a : %d \n',a)
end
右侧也可以是向量
Matlab
for a = [2 5 9 3]
disp(a)
end
6.2while循环
while 表达式
语句组
end
遍历小于10的数字,并累加求和
Matlab
i=0;
sum=0;
while(i<10)
sum=sum+i;
i=i+1;
end
fprintf('累加和为:%d \n',sum)
七.函数
7.1普通函数
function 输出形参表 = 参数名(输入形参表)
写一点关于函数的摘要
写一点参数说明
函数体语句
end
!手动新建函数
执行函数的形式:
[输出实参表] = 函数名[输入实参表]
ei编写函数:如果x>0,则y=2x;如果x<0,则y=x^2;如果x=0,则y=2
Matlab
function y=f(x)
if x>0
y=2*x;
elseif x==0
y=2;
else
y=x^2;
end
disp(y)
end
7.2匿名函数
f = @(变量列表)表达式
Matlab
close all;
clc;
b = @(x)(sin(x)+cos(x)); %创建关于x的匿名函数
c = b(pi) %带入pi
d = @(x,y)(sin(x)+cos(y)); %创建关于x和y的匿名函数
e = d(pi,pi) %带入pi值测试
7.3嵌套函数
function x = A(p1,p2)
...
function y= B(p3)
...
end
...
end
ei计算一元二次方程(qiantao2)
Matlab
function [x1,x2] = qiantao2(a,b,c)
%定义函数qiantao2计算一元二次函数
d=0; %初始化
function disc
d = sqrt(b^2-4*a*c);
end
disc; %输出d
x1 = (-b+d)/(2*a);
x2 = (-b-d)/(2*a);
end
八.绘图
8.1散点图
Matlab
x=[75;78;51;82;77;88;41;78;78;61;71;74;62;81;75;64;80;72;51;80;56;73];
y1=[208;146;168;149;208;102;130;155;163;154;145;147;143;161;145;120;153;158;123;163;177;148];
scatter(x,y1) %直接绘制
Matlab
%加颜色 r:红色
scatter(x,y1,'r')
sz = 25;
c = linspace(1,10,length(x)); %创建向量
scatter(x,y1,sz,c,'filled')
8.2条形图
ei张三各门成绩:94,62,85,25
Matlab
x = [1:4];
y = [94 62 86 25];
bar(x,y)
xlabel('科目')
ylabel('成绩')
title('条形图')
8.3概率分析图
Matlab
clear all;
clc;
A=[2 3 4 5 6 7 8]
tabulate(A) %绘制正整数频率使用
8.4读取excel画图
Matlab
clear all;
clc;
filename = 'EdgeContour1.xls';
sheet = 1;
xlRange = 'A1:A3887';
ylRange='B1:B3887';
A = xlsread(filename,sheet,xlRange)