Matlab基础,掌握主要语法

关于Matlab的一些计算应用操作写在另一篇博客里

https://blog.csdn.net/Netceor/article/details/95048763


目录

一、常用运算符

二、快捷操作

三、数组创建

四、矩阵

1.对角矩阵

2.分块矩阵

3.魔方矩阵

四、运算

1.代数运算

2.逻辑运算与关系运算

五、读入xls文件

六、找元素

七、删元素

八、字符串数组

想查找相关内容也可在页面按ctrl+F搜索文字


一、常用运算符

+-*/\(表示AX=B or XA=B的解:A\BB/A)^

.*./.\.^

==~=><>=<=

&|~

二、快捷操作

clc指令:清空指令窗内容,对工作环境中的全部变量无任何影响 

close:关闭当前的Figure窗口 

close all:关闭所有的Figure窗口 

clear:清除工作空间的所有变量 

clear x y:清除工作空间的x,y变量

clear all:清除工作空间的所有变量,函数,和MEX文件

上下方向键:回溯指令

Esc:清空编辑行

Home:置光标于行首。

class(x):可用来查看数据x的类型

ctrl+r:快速注释(先选中代码范围)

ctrl+t:取消注释(先选中代码范围)

ctrl+I:智能缩进,整理代码格式(先选中要整理的代码范围)

Tab(或ctrl+[):手动缩进,向后缩进

Shift+Tab(或ctrl+]):手动缩进,向前缩进

三、数组创建

在Matlab中,数组中的逗号也可以用空格代替

%x1:生成1到5
x1=1:5

%x2:生成从1到6,间隔为2
x2=1:2:6

A=ones(3)  %3×3的1矩阵

%从1到5生成100等间隔的数
y1=linspace(1,5)

%从1到6生成3个等间隔的数
y2=linspace(1,6,3)

%从-1到1输出,间隔0.2
x=(-1:0.2:1)

四、矩阵

1.对角矩阵

创建矩阵b,分别通过triu和tril可获得上对角阵和下对角阵,结合获得b的对角矩阵

2.分块矩阵

3.魔方矩阵

magic():用于产生魔方矩阵,它的每行、列以及对角线的数之和相等。该和的值为1+2+3+.....+n^2的和再除以n,n必须为大于或等于3的整数。

reshape(A,m,n):将矩阵A元素按单下标排成m行n列(元素不变,调整顺序)

repmat(a,2,8):将矩阵块a当元素铺放成m×n块

四、运算

1.代数运算

a=[2 3;4 5;6 7];
b=ones(3,1);  %三行一列1矩阵
c=[a b];b=[b a];  %合并
u=c+d;v=c-d;  %加减法
t1=c*b;  %矩阵乘法
t2=c.*b;  %数组乘法
t3=a\b;  %a左除b(a的逆×b)
t4=ones(1,2)/a;  %a右除e
t5=c.\d;t6=d./c;  %数组点除
t7=c.^d;t8=c.^2;t9=2.^c;  %数组点乘方
t10=d^2;  %矩阵乘方
z=[a,sin(a)]   

det(A)   %行列式计算
inv(A)   %逆矩阵计算
rref(A)  %最简阶梯形
[V,D]=eig(A)   %特征值与特征向量计算

%矩阵、数组的共轭转置A'与转置A.' 
A=[1,3,5;2,4,6;3,5,9]; B=[1,3,5;2,4,6;1,1,1];
dB=det(B),nA=inv(A)
rref([A,B])
C=ones(3),[V,D]=eig(C)
cT=(A+i*B)',  T=(A+i*B).'  , rT=A'

%提取矩阵对角元与构造对角阵可用diag(x),当x为矩阵则返回对角元向量,当x为向量则返回对角阵。

A=A'   %(共轭)转置----没有复数时与转置没有差别
A=A.'  %转置----真正的转置

2.逻辑运算与关系运算

A=[1,2;3,4],B=[0,2;4,5]
C=A>=B  %A赋值C,判断C中>=B的元素,返回布尔值(0或1)
D=A==B  %A赋值D,判断C中==B的元素,返回布尔值
A~=B  %A不等于B的元素,返回布尔值
C|D  %C或D中有1则返回1
C&D  %C和D中同为1则返回1

五、读入xls文件

如果发现以下报错,可参考该百度经验,亲测有效。

错误使用 xlsread (line 251)

https://jingyan.baidu.com/article/454316ab62f209f7a7c03a3d.html

读出Execl数据:N = xlsread('filename', 'sheet', 'range')

写入Execl数据:xlswrite('filename', M, 'sheet', 'range')

示例:

n=xlsread('DRINK.xls')
n=xlsread('DRINK.xls','DRINK')
n=xlsread('DRINK.xls','DRINK','A1:D5')

六、找元素

x=-3:5;
L=abs(x)>2;
y=x(L);  %y为x中绝对值大于2的下标对应的数

I=[1,3,4];
x=x(I)   %x重新赋值为x中下标为1,3,4的值

m=magic(3)
m=m(:)   %将magic(3)元素从上到下,从左到右,一列输出

a=[16 2 3 13;5 11 0 8;9 7 6 12;4 14 -1 2]
a(1:3,3)  %a中第一到3行的第三个元素
b=a(1:3,:)  %a中1到3行的全部元素

k=find(A<=3)	%返回数值为3元素的单下标
[s,t]=find(A<=3)   %返回数值不超过3元素的全下标
% 错误:A(s,t)   正确:A(k)
% 至于A(s,t)输出什么可以自己尝试一下

七、删元素

c(:,1)=[]   %删除第一列
c(1:2,:)=[]  %删除第一、二行

八、字符串数组

class(x)可用来查看数据x的类型

a='This is a ''VIP'' test !'  %创建字符串
size(a)   %查看字符串大小
b=a(end:-1:1)  %倒序
size(b) 
a([12:14])   %指定范围字符串
S=deblank(C)  %删除字符串结尾处的空格
blanks (n)   %产生n个空格
upper(S)  %大写所有元素
lower(S)  %小写所有元素
strcmp('stringl','string')   %字符串比较,返回0,1
findstr(str1,str2)   %str1中查找str2,返回短串起始位置
strrep(s1,s2,s3)   %用s3替换s1中的s2
int2str(A),num2str(A),str2num(S)  %字符串与数值转换,int to str、num to str、str to num

%示例
a='Hello "World"'
s1=upper(a)
s2=lower(a)
%提取文本中的关键词:
text='aaa bb cab sb bb chj'
K=findstr(text,'bb')
n=length(K)
a='This is a good man!' 
s=[a,blanks(2)]
deblank(s)
strrep(s,'good','bad')
i=findstr(s,'is')
b=eval('[1,2;3,4]')

关于eval的用法可以参考以下博客

https://blog.csdn.net/qq_38412868/article/details/79185883

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值