matlab 学习记录
Matlab
- 基础知识
- 续行书写
- 设置当前文件夹
- 函数总结
- 向量与矩阵
- 矩阵引用
- 删除矩阵元素
- 矩阵算法
- 特殊矩阵
- 矩阵变换
- 矩阵求值
- 矩阵特征值与特征向量
- 字符串
- 字符串比较
- 字符串函数总结
- 基本语法
- if-elseif-else-end
- switch
- while
- for
- 函数文件的定义与调用
- 函数定义
- 函数调用
- 匿名函数
- EXCEL 数据
- 读取
- 绘图
- 二维曲线
- 基本绘图
- 美化
基础知识
1. 末尾加不加“;”的区别a=10; 加分号不会显示ans结果,编写长串代码这样会显得界面简洁a=10
2. 注释: %
3. 不等于: ~=
续行书写
>>s = 1-1/2+1/3+... % '...' 表示续行书写 用于单行代码太长时使用
1/4-1/5
设置当前文件夹
先建立一个文件夹,然后在命令行窗口输入
>> cd 建立文件夹的路径
函数总结
sin(p1/2) | 弧度 |
---|---|
sind(90) | 角度 |
abs(x) | 求实数的绝对值、复数的模、字符串的ASCII码 |
round | 四舍五入规则取整 |
ceil | 向上取整 |
floor | 向下取整 |
fix | 舍去小数取整 |
rem(m,10) | 求m除以10的余数,其中m可以是矩阵A,即矩阵A中每个元素除以10 的余数 |
isprime(n) | n为素数返回1 |
sqrt(x) | 根号下 |
exp(x) | e的指数 |
>>save mydata a x | 将变量 a x 保存在mydata.mat 文件中 |
>>load mydata | 下次打开文件,就可以载入这个.mat文件 |
linspace(a,b,n) | 从a到b一共生成n个 |
D=sub2ind(size(A),[1,2;2,2],[1,1,;3,2]) | 参数1:由矩阵A行数和列数组成的向量,size(A):返回的是矩阵行数和列数组成的向量;参数2:行下标;参数3:列下标。将矩阵中元素的行列数转换为序号数,比如获取行1列1的元素在矩阵中的序号为多少 |
[I,J]=ind2sub(S,D) | S:由矩阵A行数和列数组成的向量;D:序号。将矩阵元素序号转换为对应元素的行列下标。例如:[I,J]=ind2sub([3,3],[1,3,5]) 表示对一个三行三列的矩阵的第1,3,5个序号的元素求其对应的行列下标 |
reshape(A,x,y) | 将矩阵A维度改为x行y列 其余不变 |
find(表达式) | 返回满足表达式的序号构成的 向量 |
clear | 清除当前工作区的全部变量 |
lower(c ) | 将大写字母转换成小写 |
upper( c ) | 将小写转换为大写 |
str2double( c) | 将字符串转换为数值 |
num2cell(0:34) | 将 [0,1,2,…,34] 的 向量 转换为 数值 形式 |
向量与矩阵
1. 行向量a=[1 2 3 4] 中间用空格a(3) 取出第三个元素2. 列向量b=[1;2;3;4] 中间用分号3. 矩阵A=[1 2 3;4 5 6;7 8 9]A(1,2) 取出矩阵第一行第二个元素利用已经建立好的矩阵,拼接成更大的矩阵B = [-1 2 3;3 2 1;1 3 1]C = [A B;B A]复数矩阵D = A + B * i4.创建等差 “:”为创建 A=1,2,3,...,100A=[1:100] 等差=1x = 1:2:100 %生成1-100 步长为2 的行向量B=[1:2:100] 等差=2
矩阵引用
C(3 , :) 取出矩阵第三行所有值
A(i : i+m ; k:k+m) 取出i到i+m行 k到k+m列的元素
A(2:3,1:2:5)引用第2-3行 第1,3,5列元素
A(3,2) 第三行第二列元素
A(end,:) 取最后一行所有元素
A(:) 将矩阵每一列都堆在一起,形成新的一列的列向量
A([1,4],3:end) 第一行和第四行 从第三列到最后一列的所有元素
A = [1 2 3;4 5 6]
>>A(3) % 取出序号为3 的元素
ans = 2 %矩阵按列存储元素
删除矩阵元素
将元素置空
>>A(:,[2,4])=[] %将第二和第四列的所有元素置空,即删除元素,矩阵的维度会缩小
**注:**置空与赋值为0 不一样,赋值为0 ,矩阵原有维度不变,置空后维度会缩小
矩阵算法
A+2 每个元素➕2A/2 每个元素除以2A^2 矩阵A的平方
点运算
是指对应元素进行相关运算
A .* B | 对应元素相乘 |
---|---|
A * B | 两个矩阵在矩阵意义下的计算 |
例如:
>> x=0.1:0.3:1;
>> y = sin(x) .* cos(x)
这里必须用 .* 因为假设 x 是列向量,那么 sin(x) 和 cos(x) 都是和 x 同维列向量,此时如果只用 * 而不用 .* 会导致两个列向量相乘,不满足矩阵向量相乘的前提
特殊矩阵
eye(n) n维单位矩阵
diag([2 3 4 ]) 对角线矩阵,主对角线元素为2 3 4
zeros(m,n) 全零矩阵
zeros(size(A)) 产生与A同样大小的0矩阵
ones 全1 矩阵
rand (0,1)均匀分布的随机矩阵
randn 均值为0 方差为1 的标准正态分布
magic(3) 三阶魔方矩阵
vander(1:5) 产生1 2 3 4 5 向量为基础的范德蒙矩阵
hilb(n) n阶希尔伯特矩阵
compan(p) 伴随矩阵,其中p 为多项式的系数向量
矩阵变换
diag(A) | 提取矩阵A主对角线 形成列向量 |
---|---|
triu(A) | 提取主对角线及以上的元素 |
A .’ | 转置 |
A’ | 共轭转置 |
inv(A) | 求逆矩阵 |
矩阵求值
det(A) | 行列式 |
---|---|
rank(A) | 秩 |
trace(A) | 迹 |
矩阵特征值与特征向量
eig(A) | 全部特征值 |
---|---|
[X,D]=eig(A) | D为特征值构成的对角阵,X为对应特征向量 |
字符串
>>s ='banana' %单引号
>>s(1:3)
ans=
ban
字符串比较
按照ASCII码 逐个比较
>>'www0' >= 'W123'
ans=1 1 1 0
字符串函数总结
abs(s) | 获取字符串s 中每个字符的ASCII码 |
---|---|
char(s) | 将ASCII码S 转换为字符串 |
strcmp(s1,s2) | 比较字符串s1 s2是否相等 |
strncmp(s1,s2,n) | 比较字符串s1 s2前n个字符是否相等 |
strcmpi(s1,s2) | 忽略大小写,比较字符串s1 s2是否相等 |
strncmpi(s1,s2,n) | 忽略大小写,比较字符串s1 s2前n个字符是否相等 |
findstr(s1,s2) | 返回短字符串在长字符串中的 开始位置 |
strrep(s1,s2,s3) | 将s1中所有s2替换为s3 |
基本语法
输入
>> A = input('请输入');
输出
>> s = 'Hello';
>> disp(s)
if-elseif-else-end
if 条件1语句1
elseif 条件2语句2
else语句3
end
switch
switch 数值
case value1语句1
case value2语句2
otherwise语句3
end
while
while 表达式语句
end
for
for n=1:2:100语句
end
函数文件的定义与调用
函数定义
在函数文件中
function 输出形参表 = 函数名(输入形参表)
函数体语句% 有多个形参时,用逗号分隔,多个输出形参之间除了逗号,还需要 方括号括起来,构成输出矩阵
例:
求半斤为r的圆的周长与面积
function [s,p] = fcircle(r)
s = pi *r*r;
p=2*pi*r;
函数调用
[输出实参表]=函数名(输入实参表)
>>[s,p] = fcircle(10) % 调用并传入 r=10 实参
匿名函数
>>f = @(x,y)x^2+y^2 %别名 = @ (参数)表达式
>>f(3,4)
ans =
25
EXCEL 数据
读取
information=xlsread('1.xlsx') 读取excel表中 全部 数据信息
information=xlsread('1.xlsx','B2:D4') 读取excel表中B2:D4表格区域数据信息
绘图
二维曲线
折线
>>x=[2,3,1,3];
>>y=[1,3,1,1];
>>plot(x,y)
基本绘图
1. plot(x,y)
2. hold on plot(x1,y1)plot(x2,y2)hold off% hold on/off 是把两个曲线放在一个图中,不然只会绘制出x2,y2的图
3.subplot() 在一个figure上放多个plots -> 05初阶绘图1:11:36
美化
1.plot(x,y,'ok-') 绘制线条是圈圈黑色实线
2.plot(x1,y1,'ok-',x2,y2,'sb--',x3,y3,'dr:') 一幅图中绘制多个 legend('第一条曲线名称','第二条曲线名称','第三条曲线名称') 加图注,不然分不清哪条曲线是啥
3.title(‘图名称’)
4.xlabel(‘x轴名称’)ylabel(‘y轴名称’)
matlab 学习记录相关推荐
- Matlab学习记录 1
文章目录 Matlab学习记录 使用帮助文档 Matlab读取CSV文件 MATLAB查看变量的类型 Matlab 提取矩阵 某一行 或者 某一列 的方法 mic的计算 矩阵下标从1开始 矩阵转置 获 ...
- Matlab学习记录-矩阵的生成
Matlab学习记录-矩阵的生成 matlab中生成矩阵有两种方式: 1.中括号加分号. 中括号表示矩阵,分号表示分行:每一行之间的元素可以用逗号分开也可以用空格分开: 例如 a=[1 2 3; 4 ...
- Matlab——学习记录篇1番外篇——hold on与hold off的区别
重点重点!!!!!!!本人使用的Matlab版本是R2021b,如果下面代码在别的版本运行之后有bug显示的话,需要自己到百度寻找相应的函数把错误的地方替换 继上一篇学习记录篇1,编程的时候一直对ho ...
- 一时兴起之matlab学习记录
是学习记录,会有错误的地方 安装的话看其他文章把 小操作 查看历史命令 在输入命令的地方,按下↑的方向键即可 模糊查找使用过的命令 在输入命令的地方,输入一个字母,按下↑会弹出一个以输入字母开头的历史 ...
- matlab学习记录之基本操作整理
文章目录 一些常用命令 数据结构相关 数值,比较,运算 变量初始化 画图操作 画图线的颜色,线的形式,符号形式和图例 一些常用命令 clc清空命令窗口内容,clf清空当前图像窗口中的内容,clear清 ...
- matlab中quat2angle,matlab 学习记录
(1)元胞数组的创建 a={'matlab',20;ones(2,3),1:10} %创建方法一 b=[{'matlab' ...
- Matlab学习记录:常用模块
1.假如你用的2019版本,导出的模型不能用到比2019版本低的matlab软件,此时可以通过以下操作导出别的版本的文件,就可以在低版本软件下打开. 2.模型配置文件 新建一个脚本 运行完之后,在保存 ...
- matlab学习记录
%矩阵 a=[1,2,3;4,5,6;7,8,9] %在Matlab在存储矩阵时,是一列一列存储的 a(3) %位置3的元素(竖着数) a(2,1) %a第2行第1列个元素 b=[1,1,1;2,2, ...
- MATLAB学习记录day02
1.randn函数-生成正态分布随机数 参考链接: randn函数官网说明. Y=randn(n) 生成一个n×n随机矩阵,其元素服从均值为0,方差为1的标准正态分布. Y=randn(m,n) 生成 ...
最新文章
- 知识图谱基本概念工程落地常见问题
- Reconstructing complex regions of genomes using long-read sequencingtechnology
- Qt控制中控考勤SDK
- python_ re模块学习
- ElementUI el-time-picker-只显示小时、分钟,分并添加范围校验
- FreeSql使用WithSql+ ToSQL 查询数据
- java中String相等问题
- 双胞胎被麻省理工全奖录取,他们成功的秘诀,跟你想的不一样……
- Python+turtle交互式绘图:可以用鼠标拖动的小海龟
- java遍历嵌套二维map输出下标_Map集合嵌套 4种遍历方式
- 费马小定理与欧拉公式
- 自创RTSP 服务器 用多款客户端软件测试接入可以,唯独VLC接入不了
- 高德地图中自定义色块标识任意省市县区域
- android动态壁纸2.2.1,动态壁纸选择器
- Dichotomy二分法学习笔记
- 微信小程序图片在不同设备显示保持图片比例并且居中
- 基于Cookie-Editor与curl实现跨设备的文件下载
- 2020年Android开发的未来发展方向该如何走?
- SpringSecurity以及Oauth2(笔记)
- linux双击运行jar包,linux下发布JAR包 并运行