MATLAB 基本操作
一 基本操作
1 注释:
ctrl + r (添加注释)
ctrl + t (取消注释)
- 缩进:
ctrl + ] (右对齐)
ctrl + [ (右对齐)
ctrl + I (自动对齐)
- 调试: ????
二 程序基本结构
一 分类: 顺序, 循环
- 顺序结构:
clc;
clear all
close all
x = input("input x:")
y = input("input y:")
z = x;
x = y;
y = z;
disp(x)
disp(y)
- 双分支结构
A = input("请输入三角形的三边 : ")
if A(1)+ A(2) > A(3) && A(2)+ A(3) > A(1) && A(3)+ A(1) > A(2)
p = (A(1)+ A(2) + A(3) ) / 2
s = sqrt(p * (p - A(1)) * (p - A(2))* (p - A(3)) )
disp(s)
else
disp("无法构成三角形")
end
- 多分支结构:
c = input("input a char :" , 's')
if ( c >= 'A') && (c <= 'Z') % 如果是大写字母
disp(char(c + 1)) % 转化为字符
elseif (c >= 'a') && (c <= 'z')
disp(char( c - 1))
else
disp(100)
end
- switch 语句 ?
当case 语句里为真时, 不会对之后的case语句在进行判断 即使有多条case 为真时, 也只执行第一个case为真的语句
可以对范围进行选择 ????
- continue 语句
通常用于 for, while 循环中, 作用: 跳过本次循环, 进行下一次循环
clc
close all
for i = 1 : 5
if i == 3
continue % continue 语句, 当i = 5时, 跳过本次循环 不执行 disp(i)
end
disp(i)
end
效果
- try 语句
try
测试语句 % 是尝试运行测试语句,
catch
测试执行语句 % 如果出错 执行测试执行语句
end /// 如果成功, 执行 以后的程序
try
picture = imread("c1.bmp", "bmp"); % 尝试打开c1.bmp, 如果打开成功, filrname = c1.bmp
filename = "c1.bmp";
catch % 如果打开失败, 尝试打开c1.jpg, 如果打开成功, filrname = c1.jpg
picture = imread("c1.jpg", "jpg");
filename = "c1.jpg";
end
disp(filename)
二 变量, 数值, 表达式
-
ans 默认变量名
-
pi 圆周率
-
realmin (最小的正实浮点数 )
-
realmax(最大的正实浮点数)
-
inf (无穷大)
-
eps(浮点运算相对精度)
-
nan(非数)
变量命名规则
- 区分大小写
- 变量名最多63 个字符
- 由数字, 下划线,英文构成, 变量名以字母开头
- 不允许出现标点
<一> 变量
-
分类: 输入变量, 输出变量, 函数内变量
-
nargain, 和 varargain 控制变量输入的个数
-
定义全局变量 用 global 关键字
<二> 数值
- MB 默认数值都用双精度表示和存储,
format short
A = [1 4 ; 3 7] + [11 0; 9 11] *i %% 复数矩阵
A' %%A的转置
A.' %% A 的共轭转置
<三> 数组与矩阵
- 用[], 行元素用“ ”, ‘, ’ 隔开, 列向量用‘;’ 隔开
B = [1 2 3 4 5 6]
b1 = B(1) % 显示第一个元素
b2 = B(1: end)
b3 = B(1: 3)
b4 = B(end : -1 : 1) %%% 倒序输出
b5 = B([1 6]) % 访问 第一个 和第六个元素的元素
B(4) = 100 ; % 给特定的元素赋值
- 创建一维数组:
法一: 用冒号创建一维数组
x = 1:6 % 默认inc = 1 结果 : 1, 2, 3, 4, 5,6
x = 1: 2: 6 % 从1 开始, 到小于6 为止 每一次增长2 ; 1, 3, 5
法二:
用logspaceO() 函数 创建一维等比行向量
- logspace(a, b) 创建第一个元素 10a, 最后一个元素 为 10b 总共为50个等比数列
- logspace(a, b, n)
法三: 用linsapce() 函数
- linspace(a, b) 第一个为a, 最后一个为b 总共100个等比数列
- linspace(a, b, n) 第一个为a, 最后一个为b 总共n个等比数列
<四> 数组运算
一. 数组的算数运算
2个数组同时为 行列数组, 数组元素个数相同
- 数组 + / - / * / 除
A = [2, 6, 6, 8]
B = [1, 2, 3, 4]
C = A.* B % 数组的乘法, 数组元素对应相乘 " A .* B "
E = A ./ B % 数组的除法, 对应元素相除 A / B
F = A.\ B % 右除 B / A
- 数组的乘方 (A.^B ) B 作为 A 的乘方系数
A =[ 1, 2, 3]
B = [1, 2, 3]
C = A.^B
D = A.^2
E = 2.^A
效果:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6l2bN2QL-1652694462143)(https://upload-images.jianshu.io/upload_images/27574290-cdd7d2a97bde37d2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]
- 数组的点积 (数组相乘再相加 )
A = [1, 2, 3]
B = [4, 5, 6]
C = dot(A, B)
效果: