matlab入门图文教程 您所在的位置:网站首页 input函数怎么用matlab matlab入门图文教程

matlab入门图文教程

2023-03-22 12:34| 来源: 网络整理| 查看: 265

类似《Maple入门教程》也已完成。

第九次更新2022-06-04第八次更新2021-12-04第七次更新2021-08-23第六次更新2021-06-01第五次更新2020-07-22 第四次更新于2020-05-12 第三次更新于2020-03-27 第二次更新于2020-01-11 第一次更新于2019-12-02 Part-1. matlab简介

matlab安装指南

此部分help 在命令窗口(command windows)显示指定命令的简短使用说明doc 以网页形式显示指定命令的帮助页,此命令显示的标准更加具体,还有各种使用举例lookfor 按指定的关键词查询与之相关的命令which 显示指定函数所在的目录. 例如1. help eig # 用于查看eig函数的帮助文档,查询结果在command窗口显示 2. doc eig # 同样是查看eig函数帮助文档,结果在单独的查看显示,比help显示更加完整详细 3. lookfor eig # 模糊查找, 比如说你知道某个可能的函数是plo***, 但是你有记不清就可以用这个命令了 4. which eig #查找函数具体在什么位置cd、dir、more Matlab 变量

变量命名原则:以字母或者下划线开头(很少用下划线打头啊);后面可以跟字母、数字和下划线;变量名区分字母的大小写.

Matlab 语句的通常形式变量 = 表达式;

表达式是用运算符将有关运算量连接起来的式子,其结果被赋给赋值号“=”左边的变量

分号和续行符的作用若不想在命令行窗口的屏幕上输出结果,可以在语句最后加分号;如果语句很长,可用续行符 “…”(三个点)续行; 续行符的前面最好留一个空格.a = 1 % a=1就会在命令行窗口输出 b = 1; % 加了分号就不显示在命令行窗口 c = 123+456+789+ ... 123456 %三个点换行变量的查询who 显示工作空间中的所有变量;whos 查看工作空间中变量的详细属性>> a = 1; b = 2; >> c = pi; >> who 您的变量为: a b c >> whos Name Size Bytes Class Attributes a 1x1 8 double b 1x1 8 double c 1x1 8 double 系统预定义变量pi : 圆周率 \pi ;inf, Inf :无穷大;nan, NaN :Not-a-Number,一个不定值,如 0/0;eps :浮点运算相对精度i, j :虚部单位, 通常为了避免混淆我们写作1i, 1j 特殊变量 ans -- 应尽量避免给系统预定义变量重新赋值数学运算符:+ 加法;- 减法;* 乘法;/ 和 \ 除法(右左除):^ 幂运算;

点乘(.*)与点除(./): 这两个用的特别多,例如

x = [1 2 3]; y = [ 2 4 6]; x.*y % 输出1*2 2*4 3*6 y./x %输出 2/1 4/2 6/3 x.^3 %输出 1^3 2^3 3^3命令分隔符:逗号和分号输出格式:Matlab 以双精度执行所有的运算,运算结果可以在屏幕上输出,同时赋给指定变量;若无指定变量,则系统会自动将结果赋给变量 “ans”;Matlab 中数的输出格式可以通过 format 命令指定;format 只改变变量的输出格式,但不会影响变量的值!变量的存储save 文件名 变量名列表 save 'file1.mat' p q %将变量 p与去存储到文件file1.mat里面 save('file1.mat','p','q') % 和上面结果一样 变量名列表中各变量之间用空格分隔变量的读取load mydata A x 从数据文件中提取指定变量清除当前工作空间中的变量;clear A x %清除指定的变量 clear all % 清除所有工作空间变量几个小技巧Matlab的命令记忆功能:上下箭头键(先输入命令的前几个字符,再按上下键缩小搜索范围)命令补全功能: Tab键 ;用 Esc键 删除命令行 Part-2. matlab矩阵数值计算1. 矩阵的定义:Matlab 的操作对象是矩阵定义矩阵:直接输入法 A = [1 2 3; 4 5 6; 7 8 9] %或者 A = [1 2 3; 4 5 6; 7 8 9]矩阵用方括号 “[ ]” 括起mat = [元素]矩阵同一行中的元素之间用 空格 或 逗号 分隔mat1 = [1 2 3]; mat2 = [1,2,3];%两者意义一样矩阵行与行之间用 分号 分开mat3 =[ 1 2 3; 4, 5, 6];直接输入法中,分号可以用 回车 代替mat4 = [1 2 3 4 5 6];2. 矩阵赋值操作

- 矩阵A是一个1*2矩阵,第一个元素1,第二个元素2

A(1)=1; A(2)=2;大矩阵可以把小矩阵作为其元素A = [A ; 3 4];3. 矩阵元素提取引用操作单个元素的引用;利用小括弧和元素所在的位置(下标)A(1)引用A的第一个元素;A(i):向量 A 中的第 i 个元素;A(i,j):矩阵 A 中的第 i 行,第 j 列元素;多个元素的引用:冒号的特殊用法;a:b:c %产生一个由等差序列组成的向量; a 是首项,b 是公差,c 确定最后一项;若 b=1,则 b 可以省略。x=1:2:5; x = 2:5; x = 10:-3:2;矩阵元素的引用A(i:j, m:n) 表示由矩阵 A 的第 i 到第 j 行和第 m 到第 n 列交叉线上的元素组成的子矩阵。可利用冒号提取矩阵 的整行或整列。 A(1, :) A(:, 1:3) A(:, :)4. 建立矩阵进阶利用函数建立数值矩阵:MATLAB提供了许多生成和操作矩阵的函数。例如: reshape函数和diag函数等。reshape函数用于建立数值矩阵。diag函数用于产生对角阵。>> x = 1:12 x = 1 2 3 4 5 6 7 8 9 10 11 12 >> y = reshape(x,3,4) % reshape用法 y = 1 4 7 10 2 5 8 11 3 6 9 12 >> z = 1:4 z = 1 2 3 4 >> diag(z) % 创建对角矩阵 ans = 1 0 0 0 0 2 0 0 0 0 3 0 0 0 0 4利用M文件建立矩阵:对于比较大且比较复杂的矩阵,可以为它专门建立一个M文件。矩阵的基本运算:(1)矩阵转置;(2)矩阵加和减;(3)矩阵乘法;(4)矩阵除法 A\b=inv(A)*b;(5)矩阵的乘方 a^2A .' % 矩阵A转置 A' % 矩阵共轭转置5. 建立矩阵的函数eye(size(A)) % 产生与A矩阵同阶的单位矩阵 zeros(m,n) % 产生0矩阵 ones(m,n) % 产生幺矩阵 rand (m,n) % 产生随机元素的矩阵 size(a) % 返回包含两个元素的向量。 length(a) % 返回向量的长度。

6. 数组运算:(1) 数组的加和减 (2) 数组的乘和除 (3) 数组的乘方

7. 举例

1、行列式计算;

det([1 2 ;3 4])

2、求解线性方程组;

x = A\b

3、解特征值问题

eig(A) Part-3. matlab图像可视化1. 二维平面图形与坐标系线性坐标曲线 plot 函数命令,它可以生成线段、曲线和参数方程曲线的函数图形。命令格式: plot(X,Y) ; plot(x1,y1,x2,y2,…) 用命令 plot(x,y)绘制 y=cos(x)在一个周期内的图形。 x=0:0.01:2*pi; y=cos(x); plot(x,y)在同一图形窗口中用命令 plot(x,y)绘出正弦余弦函数的图形。x=0:0.01:2*pi; y=[sin(x);cos(x)]; plot(x,y) plot 函数可以设置曲线的线段类型、定点标记和线段颜色。 调用格式:plot(x,y,s) ,s 为类型说明参数,是字符串。 s 字符串可以是三种类型的符号之一,也可以是线型与颜色和定点标记与颜色的组合。用 hold on 命令在一个坐标系中增加新的图形对象。图形窗口的分割: 实现在同一个窗口中同时显示多个图像的命令subplot。 使用格式为:subplot(m,n,i)

其含义为 :把图形窗口分割为 m 行 n 列子窗口,然后选定第 i 个窗口为当前窗口。 subplot 命令不仅用于二维图形,对三维图形一样适用。其本质是将 figure 窗口分为几个区域,再在每个区域内分别绘图

用 subplot 函数把两种不同的图形综合在一个图形窗口中。subplot(2,2,1) t=0.1:0.1:4*pi; y=sin(t); semilogx(t,y,'linewidth',2) grid on set(gca,'FontSize',15) subplot(2,2,2) t=0:0.1:4*pi; y=sin(t); plot(t,y,'linewidth',2) set(gca,'FontSize',15) subplot(2,2,3) x=1:0.01:5; y=exp(x); plot(x,y,'linewidth',2) set(gca,'FontSize',15) subplot(2,2,4) x=1:0.1:10; y=sqrt(x); plot(x,y,'-','linewidth',2) set(gca,'FontSize',15) axis tight坐标系的调整 实现坐标系的调整的命令是 axis 函数。 调用格式为:axis([xmin,xmax,ymin,ymax,zmin,zmax])坐标的最小值( xmin,ymin,zmin)必须小于相应的最大值( xmax,ymax,zmax).subplot(2,1,1) t=0:0.1:4*pi; y=sin(t); plot(t,y) subplot(2,1,2) t=0:0.1:4*pi; y=sin(t); plot(t,y) axis([0,max(t),min(y),max(y)])

2. 三维绘图 :绘图命令 plot3. 其调用格式为:plot3(X1,Y1,Z1,s1,X2,Y2,Z2,s2,…)

参数的含义如下: X1, Y1,Z1:第一到三维数据,是尺寸相等的向量/矩阵; s、s1、s2:是字符串,用来设置线型、颜色、数据点标记。 x、y、z 是向量时,plot3 命令的使用

t=0:0.1:8*pi; plot3(sin(t),cos(t),t) title('绘制螺旋线') %用命令 title 对图形主题进行标注 xlabel('sin(t)') ylabel('cos(t)') zlabel('t') %命令 zlabel 用来指定 z 轴的数据名称 grid on

x、y、z 都是矩阵时,plot3 命令的使用

[X,Y]=meshgrid(-pi:0.1:pi); Z=sin(X)+cos(Y); plot3(X,Y,Z) 三维曲面绘图命令 :首先是平面网格点的生成 函数命令meshgrid 用来生成 x-y 平面上的网格点矩阵。 调用形式为:[X,Y]=meshgrid(x,y) [X,Y]=meshgrid(x) 等价于[X,Y]=meshgrid(x,x)

参数含义如下: x:是区间[x0,xm]上分划的向量; y:是区间[y0,yn]上分划的向量; X,Y:输出变量矩阵,矩阵 X 的行向量都是向量 x,矩阵 Y 的列向量都是向量 y。 函数 meshgrid 将由两个向量决定的区域转换为对应的网格点矩阵

三维网格命令 mesh 利用函数mesh生成网格曲面。 调用格式为:1. mesh(X,Y,Z,C):X、Y、Z、C 是同维数的矩阵,X、Y、Z 对应空间上的网格点,网格线颜色由C决定;2. mesh(X,Y,Z):相当于上面的 C=Z 的情况; 3. mesh(x,y,Z,C):x 和 y 是向量,Z 和 C 是同维数的矩阵,网格曲面的网格顶点是( x(j),y(i),Z(i,j)),网格线的颜色由矩阵 C 决定;三维表面命令 surf 函数:surf 命令的调用格式与 mesh 相同。 利用三维网格表面命令 surf 绘制图形。z=peaks; %绘制山峰的图像,将函数值赋予变量z surf(z) %对山峰的图像进行着色处理 shading interp %函数 shading 改变着色方式 柱面的表达cylinder cylinder命令中,柱面的轴线定义为 z 轴,只要给出母线的描述就可完成一个柱面。 调用格式为: [X,Y,Z] = cylinder(R,N); [X,Y,Z] = cylinder(R):缺省值 N=20; [X,Y,Z] = cylinder:缺省值 N=20,R=[1,1]。

R:是一描述柱面母线的向量; N:是旋转柱面上的分割线条数; [X,Y,Z] :是返回的x,y,z坐标向量。 绘制一个柱面。

t=pi:0.01:3*pi; r=sin(t)+t; cylinder(r,30) shading interp球面的表达sphere 调用格式为:[X,Y,Z]=sphere(N):产生一个( N+1)×( N+1)的矩阵,然后用函数 surf 命令绘制一个单位的球面,N 为设置分割线的条数; [X,Y,Z] = sphere:缺省 N = 20。

画一个球面。

[X,Y,Z]=sphere; surf(X,Y,Z)图像标注修饰图形标注:坐标轴和图形标题标注; 标注坐标轴 x、y 和 z 的命令函数为 xlabel、ylabel 和 zlabel 调用格式为:xlabel('text') xlabel('text','Property1',PropertyValue1,'Property2',PropertyValue2,...)

图例的标注 legend命令实现不同图例的说明。其调用格式为:

legend(string1,string2,string3, ...) legend(string1,string2,string3,...,Pos)

按顺序把字符串添加到相应的曲线线型符号之后;Pos对图例的位置作出设置和调整:

0 = 自动把图例置于最佳位置( 和图中曲线重复最少); 1 = 置于图形窗口的右上角( 缺省值); 2 = 置于图形窗口的左上角; 3 = 置于图形窗口的左下角; 4 = 置于图形窗口的右下角; -1 = 置于图形窗口的右侧( 外部)。

控制分格线 对二维和三维图形都适用。 有三种用法:grid on:打开分格线控制开关,以后绘制的图形都带有分格线; grid off:关闭分格线控制开关,以后绘制的图形都不带分格线; grid:用于实现分格线绘制切换。绘制图形,并用函数 xlabel、title 和 legend 命令进行标注。t=0:0.1:4*pi; y=sin(t); y1=cos(t); plot(t,y,':',t,y1,'r*') xlabel('x 轴 (0--4\pi)','fontsize',12,'fontweight','bold') ylabel('y 轴','fontsize',12,'fontweight','bold') title('绘制正弦波和余弦波 Pos=1','fontsize',10,'fontweight','bold','fontangle','italic') text(pi,0,'\leftarrowsin(\pi)=0') text(pi,-1,'\leftarrowcos(\pi)=-1') text(pi/2,0.9,['\uparrowsin(\pi/2)=',num2str(sin(pi/2))]) legend('正弦波','余弦波') figure(2) plot(t,y,':',t,y1,'r*') title('绘制正弦波和余弦波 Pos=0','fontsize',10,'fontweight','bold','fontangle','italic') legend('正弦波','余弦波',0) grid on figure(3) plot(t,y,':',t,y1,'r*') title('绘制正弦波和余弦波 Pos=-1','fontsize',10,'fontweight','bold','fontangle','italic') Part-4. matlab符号运算1. 符号对象的建立:sym 和 syms 符号变量 = sym(A)

syms 符号变量1 符号变量2 ... 符号变量n

syms a b c

查找符号表达式中的符号变量:findsym(expr) %按字母顺序列出符号表达式 expr 中的所有符号变量;findsym(expr, N)%按顺序列出 expr 中离 x 最近的 N 个符号变量;用给定的数据替换符号表达式中的指定的符号变量

subs(f,x,a)

用 a 替换字符函数 f 中的字符变量 x

因式分解syms x; f=x^6+1; factor(f)函数展开syms x; f=(x+1)^6; expand(f)合并同类项collect(f,v) %按指定变量 v 进行合并函数简化[How,y]=simple(f): y 为 f 的最简短形式,How 中记录的为简化过程中使用的方法。计算极限limit(f,x,a): 计算 limit(f,a): 当默认变量趋向于 a 时的极限 limit(f): 计算 a=0 时的极限 limit(f,x,a,'right'): 计算右极限 limit(f,x,a,'left'): 计算左极限计算导数g=diff(f,v):求符号表达式 f 关于 v 的导数 g=diff(f):求符号表达式 f 关于默认变量的导数 g=diff(f,v,n):求 f 关于 v 的 n 阶导数计算积分int(f,v,a,b): 计算定积分 int(f,a,b): 计算关于默认变量的定积分 int(f,v): 计算不定积分 int(f): 计算关于默认变量的不定积分符号求和symsum(f,v,a,b)代数方程求解 solve(f,v):求方程关于指定自变量的解微分方程求解y=dsolve('eq1','eq2', ... ,'cond1','cond2', ... ,'v')

其中 y 为输出的解, eq1、eq2、. . . 为微分方程,cond1、cond2、...为初值条件, v 为自变量

Part-5. matlab 程序设计1.M文件

用MATLAB语言编写的程序,称为M文件。 M文件有两类:

命令文件和函数文件。 命令文件:没有输入参数,也不返回输出参数。

函数文件:可以输入参数,也可返回输出参数。

input函数: 用于向计算机输入一个参数; pause函数:暂停程序的执行;disp函数:命令窗口输出函数。 2.程序设计

- for语句:格式:

for 循环变量=表达式1:表达式2:表达式3 循环体语句 end

注:其中表达式1的值为循环变量的初值,表达式2的值为步长,表达式3的值为循环变量的终值。步长为1时,表达式2可以省略

while语句: 格式为: while (条件) 循环体语句 end

3. 函数文件: 是另一种形式的M文件,每一个函数文件都定义一个函数。函数文件由function语句引导,其格式为:function 输出形参表=函数名(输入形参表) 注释说明部分 函数体

注:其中函数名的命名规则与变量名相同。输入形参为函数的输入参数,输出形参为函数的输出参数。当输出形参多于1个时,则应该用方括号括起来。

编写函数文件求小于任意自然数n的Fibonacci数列各项。

function f=ffib(n) %用于求Fibonacci数列的函数文件 f=[1,1]; i=1; while f(i)+f(i+1)matlab简单动画制作



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有