许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  MATLAB常用命令汇总:编程必备速查手册

MATLAB常用命令汇总:编程必备速查手册

阅读数 30
点赞 0
article_banner

1 通过语句和函数建立矩阵

t=[0:0.1:5] %产生从 0 到 5 的行向量,元素之间间隔为 0.1。 t=linspace(n1,n2,n) %产生 n1 和 n2 之间线性均匀分布的 n 个数 (缺省 n 时,产生 100 个 数)。 t=logspace(n1,n2,n) %在 n1 10 和 n2 10 之间按照对数距离等间距产生 n 个数(缺省 n 时,产 生 50 个数)。

2 从外部纯 文本文件  导入矩阵

a = load('data3.txt') 或者 a = load('data3.txt' )

3 特殊矩阵

1.单位矩阵

eye(m) %生成 m 阶单位阵。 eye(m,n) %生成 m×n 矩阵,其中得到一个可允许的最大单位矩阵而其余处补 0。 eye(size(a)) %生成与矩阵 a 同样大小的单位矩阵。

2.全部元素为 1 的矩阵

ones(n) %生成全部元素为 1 的 n 阶方阵。 ones(size(a)) %生成与矩阵 a 同样维数的全部元素为 1 的矩阵。 ones(m,n) %生成全部元素为 1 的 m×n 矩阵。

3.全部元素为 0 的矩阵 zeros(n)  %生成全部元素为 0 的 n 阶方阵。

zeros(m,n) %生成全部元素为 0 的 m×n 矩阵。

4.空矩阵 空矩阵是一个特殊矩阵,这在 线性代数  中是不存在的。例如 a=[ ]

矩阵 a 在工作空间之中,但它的大小为零。通过空矩阵的办法可以删除矩阵的行与列。

例如 b(:,3)=[] 这样就删除了所有行的第3列元素 。

5.随机数矩阵(这个比较常用)

rand(m,n) %产生 m×n 矩阵,其中的元素是服从[0,1]区间上均匀分布的随机数。 randi([imin,imax],m,n) %生成 m×n 矩阵,其中的元素为[imin,imax]区间上的随机整数。 normrnd(mu,sigma,m,n) %产生 m×n 矩阵,其中的元素是服从均值为 mu,标准差为 sigma 的正态分布的随机数。 randn(m,n) %产生均值为 0,方差为 1 的正态分布的 m×n 随机数矩阵。 exprnd(mu,m,n) %产生m×n矩阵,其中的元素是服从均值为mu的指数分布的随机数。 poissrnd(mu,m,n) %产生 m×n 矩阵,其中的元素是服从均值为 mu 的泊松(Poisson) 分布的随机数。 unifrnd(a,b,m,n) %产生 m×n 矩阵,其中的元素是服从区间[a,b]上均匀分布的随机数。 mvnrnd(mu,sigma,n) %产生 n 对均值向量为 mu,协方差矩阵为 sigma 的多维正态分布 的随机数。 randperm(n)产生 1 到 n 的一个随机全排列。 perms([1:n])产生 1 到 n 的所有全排列

编写表示 y = x^{2} + 2x + 3 的 MATLAB 函数,并计算在 x = [-6,6] 处的函数值。

函数举例 :

function y=myfun1(x); y=x.^2+2*x+3; clc, clear %清屏并清理内存空间 x=-6:6; y=myfun1(x)

匿名函数 :

y = @(x) x.^2 +2*x +3 ; x0 = -6:6 ; y0 = y(x0)

(二分法) 求方程的根   x^{3}+1.1 x^{2}+0.9 x-1.4=0

clc, clear ; fx = @(x) x.^3 + 1.1*x.^2 +0.9*x -1.4 ; a = 0 ; b  = 1 ; c = (a+b) /2 ; while abs(b-a) >0.0001;    if fx(a)*fx(c) >0         a = c ;     else        b = c ;     end    c = (a+b) /2 end

直接调用 MATLAB 工具箱函数的程序如下:

clc, clear %清屏和清理内存空间 fx=@(x)x.^3+1.1*x.^2+0.9*x-1.4; %定义匿名函数 x1=fsolve(fx,0) %调用工具箱的命令 x2=fzero(fx,0) %调用工具箱的另一个命令

MATLAB 绘图命令

二维绘图命令 plot 为了适应各种绘图需要,提供了用于 控制 线色、数据点和线型的 3 组基本参数。它的使用格式如下: plot(x,y,’color_point_linestyle’)  .

字符串‘color_point_linestyle’完成对线色、数据点和线型 3 个参数的设置,这 3 个参数的 控制没有先后次序。线色(r-red,g-green,b-blue,w-white,k- black  ,y-yellow),数据点(., o,x,+,*,S,H,D,V,^,>,<,p)与线型(-,-.,--,:)都可以根据需要适当选择。

    subplot 命令使得在一个屏幕上可以分开显示 n 个不同坐标系,且可分别在每一个坐标 系中绘制曲线。其命令格式如下:          subplot(r,c,p)  

表示把屏幕分成 r 行、c 列个子窗口,即 r×c 个子窗口,激活 p 号子窗口,窗口的排列次序 是逐行排列的

例 3.5  分别用 plot,fplot,ezplot 画出抛物线

yy=@(x)x.^2; %定义抛物线的匿名函数 subplot(142), fplot(yy,[-6,6]) subplot(143), ezplot(yy,[-6,6]) subplot(144), ezplot('y=x^2',[-6,6]) %符号函数画图

画出   y=\frac{8}{x^{2}+4}

clc, clear, close all %关闭所有的图形窗口 f2=@(x)8./(x.^2+4); fplot(f2,[-6,6]) figure, ezplot('y=8/(x^2+4)',[-6,6,0,2]), title('')

图形标识

MATLAB 允许对图形对象进行文字标注,即图形标识. 常用的图形标识命令有:

title('s') %添加图形标题; xlabel('s') %横坐标命名; ylabel('s') %纵坐标命名; text(x,y, 's') %在位置(x,y)处添加说明文字. 命令 legend('s1', 's2',…, 'Location', 'Location 参数值')

例 : 画出 y=2 \cos x, \quad y=\sin (2 x) 的图像

clc , clear ,close all  ; x =-6:0.1:6 ; y1 = 2*cos(x) ;y2 = 2*sin(2*x) ;plot(x,y1,'-r'), hold on ; % 图像保持plot(x,y2,'P-') ; legend('余弦曲线','正弦曲线','Location','best') 

三维画图命令  

MATLAB 也提供了一些三维基本绘图命令,如三维曲线命令 plot3,三维网格图命令 mesh 和三维表面图命令 surf。

plot3(x,y,z)通过描点连线画出曲线,这里 x,y,z 都是 n 维向量,分别表示该曲线上点集的 横坐标、纵坐标、竖坐标。

命令 mesh(x,y,z)画网格曲面. 这里 x,y,z 分别表示数据点的横坐标、纵坐标、竖坐标,如 果 x 和 y 是向量,x 是 m 维的向量,y 是 n 维的向量,则 z 是 n×m 的矩阵. x,y,z 也可以都是 同维数的矩阵.

命令 mesh(x,y,z)将该数据点在空间中描出,并连成网格。 命令 surf(x,y,z)画三维表面图,这里 x,y,z 分别表示数据点的横坐标、纵坐标、竖坐标.  已知曲线或曲面的函数关系,提倡使用 ezplot3,ezmesh,ezsurf 等命令画图。

clc,clear ,close all ; t = 0:0.01:100 , x = t.*cos(t) ; y = t.*sin(t) ; plot3(x,y,t) ;

椭圆锥面   :   \frac{x^{2}}{4}+\frac{y^{2}}{2}=z^{2}

>> x = @(t,z) 2*z.*cos(t); >> y = @(t,z)sqrt(2)*z.*sin(t) ; >> z = @(t,z)z ; >> ezsurf(x,y,z,[0,2*pi,-6,6])

莫比乌斯带 :

       \left\{\begin{array}{l}{x=\left(2+\frac{s}{2} \cos \frac{t}{2}\right) \cos t} \\ {y=\left(2+\frac{s}{2} \cos \frac{t}{2}\right) \sin t} \\ {z=\frac{s}{2} \sin \frac{t}{2}}\end{array}\right.

0\leqslant t\leqslant 2\pi ,-1 \leqslant s \leqslant 1

clc, clear x=@(s,t)(2+s/2.*cos(t/2)).*cos(t); y=@(s,t)(2+s/2.*cos(t/2)).*sin(t);z=@(s,t)s/2.*sin(t/2); ezmesh(x,y,z,[-1,1,0,2*pi]), title('')view(-40,60) 


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删


相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空