Matlab基本操作

Matlab的主要功能

  • 数值运算

    • 矩阵的所有基本运算,求秩、逆、行列式
      矩阵的三角分解、正交分解、奇异分解等
      求方程组的解,多项式的各种基本运算等等
  • 符号运算

    • 可以实现因式的分解、展开、合并、简化及通分等
      可以计算级数、极限、导数 、积分等
      还可以求出代数方程和微分方程的精确解或通解
  • 绘图功能:各种二维、三维绘图,轻而易举实现数据可视化




Matlab的矩阵操作

ps:Matlab的注释是%符号不是#
A = 1 : 2 : 10	#在区间[1,10]之间生成一个公差为2的等差数列

A = [1,2,3;4,5,6;7,8,9]

#生成一个3*3的矩阵:
# 1 2 3
# 4 5 6
# 7 8 9

A(2,3) #矩阵的第二行第三个元素

A = [A;[6,6,6]]	#添加一行	
A = [A,[6;6;6]]	#添加一列

X = A(2,:)	#抽出第二行
A(2,:) = []	#删除第二行
B = A([1,3],:)	#抽出1、3行
A([1,3],:) = A([1,3],:)	#交换1、3行

矩阵的旋转
fliplr(A)   左右旋转
flipud(A)   上下旋转
rot90(A)	逆时针旋转90°
rot90(A,K)	逆时针旋转k*90°

查看矩阵的大小
size(A)		A的行数和列数
size(A,1)	返回行数
size(A,2) 	返回列数
length(X)	返回向量X的长度

  1. 其中表示换行。A = [1;2;3;4]表示生成一个列向量。
  2. A(i:j, m:n) 表示由矩阵 A 的第 i 到第 j 行和第 m 到第 n列交叉线上的元素组成的子矩阵。

常见矩阵生成函数
函数注释
zeros(m,n)生成一个 m 行 n 列的零矩阵,m=n 时可简写为 zeros(n)
ones(m,n)生成一个 m 行 n 列的元素全为 1 的矩阵, m=n 时可写为 ones(n)
eye(m,n)生成一个主对角线全为 1 的 m 行 n 列矩阵, m=n 时可简写为 eye(n),即为 n 维单位矩阵
diag(X)若 X 是矩阵,则 diag(X) 为 X 的主对角线向量
若 X 是向量,diag(X) 产生以 X 为主对角线的对角矩阵
tril(A)提取一个矩阵的下三角部分
triu(A)提取一个矩阵的上三角部分
rand(m,n)产生0~1间均匀分布的随机矩阵
randn(m,n)产生均值为0,方差为1的标准正态分布随机矩阵

矩阵的除法

矩阵的除法分为/ \,分别为右除跟左除。

X = A\B <=> A*X = B

X = B/A <=> X*A = B

ps:矩阵A的逆为inv(A)




Matlab绘图

例:y=cos(x)在[0,4*pi]上的图像
x = [0:0.1:2*pi]	生成一个从02*pi的等差数列,公差为0.1
y = cos(x)			以x为定义域生成一个函数y
plot(x,y)			以x为定义域,y为值域生成函数图像
title('y=cos(x)')	标题
xlabel('x轴') 		x坐标轴标注
ylabel('y轴')		y坐标轴标注

在这里插入图片描述


plot(x,y,‘string’)

其中string代表的是图形的基本属性,例如画的图是虚线还是实线,线的颜色是什么等。


在这里插入图片描述

其他相关命令

legend('cos(x)') 添加图例。

text(x,y,string) 在指定地方添加文本。例如:text(2,cos(2),‘fuck’)

gird on 或 grid off 显示网格。

hold on 或 hold off 保持当前窗口的图像。

figure(n) 新建绘图窗口。

subplot(m,n,p) 划分绘图区域。将一个绘图窗口分割成m*n个子区域,并按照从左到右依次编号。p表示第p个绘图子区域。


三维图像
三位曲线:plot3

例:三维螺旋曲线

t = [0:0.1:10*pi]
x = 2*t
y = sin(t)
z = cos(t)
plot3(x,y,z)

在这里插入图片描述


空间曲面

mesh(x,y,z,c) 绘制由矩阵x,y,z所确定的曲面网格图,矩阵c用来确定网格颜色,省略时c = z。

mesh(z) 绘出矩阵z的三维消隐图

meshc 调用方式与mesh相同,在mesh的基础上增加等高线。

meshz 调用方式与mesh相同,在mesh的基础上屏蔽边界线。

[X,Y] = meshgrid(x,y) 网格生成函数。x,y为给定的向量,X,Y是网格划分后得到的网格矩阵。

surf(X,Y,Z) 参数跟mesh相同,但mesh绘制的是网格图,surf绘制的是着色的三维表面图。可试一下对比。

sphere(n) 绘制单位球面且只能绘制单位球面。




Matlab符号运算

符号对象的建立:sym 和 syms

什么是符号对象?如果你想求 2 x 2 + 4 x = 0 2x^{2}+4x = 0 2x2+4x=0 的根,那么计算机如何识别这个x是未知量x呢?这个时候就需要用到符号对象。

  • sym跟syms
    • sym函数用来建立单个符号变量。a = sym('b') 意思为符号变量a代表b。 a = sym('3') 意思为符号变量a代表3。
    • syms(比较常用)用来建立多个符号变量,syms a b c 意思为建立符号变量a,b,c。等价于a = sym('a') b = sym('b') c = sym('c')

符号表达式的替换

subs(f,x,a)a 替换字符函数 f 中的字符变量 x




Matlab编程入门


数据输入:input

A = input('') 输入到A中。其中引号里面的内容会先展示在输出界面。比如A = input('请输入一个数字')


数据输出: disp

disp(x) 例如 A = 'hello world'; disp(A) ps:如果不加分号则会自动输出一次。


if 条件语句
if 条件
	do
elseif 条件
	do
else 条件
	do
end

for循环
for i = 1:n
	do
end

循环变量为i,i从1循环到n为止。


while循环
while 条件
	do
end

break跟continue跟c++一样



求导数

diff(f,“v”,n) 其中v是自变量,f是表达式,求n阶导数。




极限问题

  1. 单变量极限
    limit(f,x,a,“right”) 其中f是表达式,x,a代表x在a处的极限,right为右极限,改为left是左极限,不写默认求双侧极限。
  2. 多变量极限
    在这里插入图片描述

可以使用limit的嵌套函数来实现:limit(limit(f,x,x0),y,yo)




积分问题

  1. 不定积分: int(f,x) 其中f是表达式,x是被积变量。
  2. 定积分:int(f,x,a,b) 其中a,b是积分上下限。
  3. 二重积分:int((int(f,t)+c1),x)+c2 要添加常数项c1,c2。
    在这里插入图片描述



级数求和

symsum(fk,k,k0,kn) 其中fk为表达式,k0和kn表示求和的项数。




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值