Matlab基础_matlb 计算结果包含pi-程序员宅基地

技术标签: matlab  代码攻略  基础  

matlab中常用的command窗口命令

上下键――切换到之前、之后的命令,可以重复按多次来达到你想要的命令

clc――清除命令窗口显示的语句,此命令并不清空当前工作区的变量,仅仅是把屏幕上显示出来的语句清除掉    

clear――这个才是清空当前工作区的变量命令,常用语句clear all来完成

clf     清除图形窗中显示内容

 

Command history windows

历史命令窗口记录所有运行过的命令。当退出MATLAB或运行clc命令时,命令窗口将会被清空,但历史命令窗口仍然会保存所有运行过的命令。

1.编辑菜单可以清空该窗口中的命令。Edit-clear command history

2.双击历史命令窗口中的命令行就可以把该命令调回命令窗口运行。

3.单击并拖拽命令代码到命令窗口也可运行历史命令

 

Workplace

工作区记录命令窗口中已经运行过变量。

ans是matlab中默认的结果变量. 每次matlab进行运算后, 结果都要储存在指定的变量中. 如果你只是输入表 达式, 却不指定把表达式的运算结果储存在哪个变量里面, 那么matlab就自 动地将结果储存在ans变量中. 直到下一次不带指定存储变量的运算结束前, ans中 所储存的值不变. 

float是单精度浮点数,它的范围可以取到-3.40292347E+38到+3.40292347E+38之间

double是双精度浮点 ,它的范围可以取到-1.79769313486231570E+308到+1.79769313486231570E+308之间

单精度浮点变量与双精度浮点变量在内存的占用上是不同的.一般float是4个字节,而double是8个字节

 

Matlab 变量命名规则

变量名必须以字母开始,区分大小写,最长变量名为63个字符,可以用namelengthmax来保证

变量名中允许使用的字符仅包括:字母,数字和下划线。可以用isvarname来核实变量名的有效性。与其它计算机语言类似,数字1表示true, 数字0表示false

        Isvarname  time   ;

 MATLAB中保留的关键字不能作为变量名。用户可以使用命令iskeyword查看系统预定义的关键字

MATLAB允许重新指定内置函数名作为变量名。

       sin = 4

   但这样做是很危险的,因为函数内置sin就不能再被使用了。可以输入下述命令将sin恢复到函数功能

    clear    sin

MATLAB中可以用which来检查一个变量是否为内置函数

Which sin

 

MATLAB中标量的运算

 

运算

算术语法

MATLAB语法

a+b

a+b

a-b

a-b

a×b

a*b

a÷b

a/b

指数

ab

a^b

 

Linspace 和logspace

等差数列用linspace来定义,确定数组中初始元素、最终元素和步数。

Eg:  a=linspace(1,10,3)

等比数列用logspace来定义,需要输入三个值:前两个分别作为10的指数,最后一个是数组中元素的个数。

Eg:  b=logspace(1,3,3)

 

简单的矩阵运算

矩阵和标量进行运算:可以使用算术运算

a=[1 2 3]

b=a+5

c=a*5

矩阵运算中的乘、除、平方

 相乘.*  ;  相除:./  ;  幂运算:.^

a=[1 2 3]  ;  b=[4 5 6] ; c=[7 8 9 ]

a.*b

b./a

c.^a

MATLAB的矩阵运算能力适合进行重复运算。

例如:假设需要把多个角度值转换成弧度值。

首先输入矩阵的值,角度值分别为10,15,70,90

degrees=[10,15,70,90]

若将其转换成弧度,则需要乘以π/180

Radians= degrees*pi/180或degrees.*pi/180

注:在matlab中,π值用内置的浮点数pi表示。因为π是一个无理数,它不能用一个浮点数精确表示。所以matlab用一个近似的常数pi来表示。在三角函数中sin(pi)的值为0,但matlab却返回一个很小的值1.2246e-016就是这个原因。

 

数值显示-科学计数法

    一般情况下,十进制数可以表示所有数值,但太大或太小的数值难以用基本的十进制数表示。

Eg:阿弗加德罗常数=602 200 000 000 000 000 000 000

科学记数法表示为:6.022×1023

      在matlab中,科学记数法是在十进制小数部分与指数部分之间放置字母e

Eg: Avogadro’s_constant=6.022e23

    注:一般来说,科学记数法采用10的幂来表示,但很多人经常把这种命名方法与数学上的自然数e相混淆,数学上e=2.7183。在matlab中e的指数用exp函数表示,

    eg:exp(3)=e3

 

数值显示-显示格式

在MATLAB里有多种显示格式,无论选择哪一种,MATLAB都使用双精神浮点数进行计算。双精度浮点数有16位十进制有效数字,改变显示方式不会改变计算结果的精确度。也就是说无论用哪种显示格式,进行运算时使用双精度浮点数。除非调用特殊的函数,否则matlab不区分整数和浮点数。

Matlab命令

显  示

实  例

format short

4位有效数字

 

format long

14位有效数字

 

format short e

4位有效数字科学记数法

 

format long e

14位有效数字科学记数法

 

format bank

仅显示实际值2位有效数字

 

format short eng

4位有效数字的工程记数法

 

format long eng

14位有效数字的工程记数法

 

format +

只显示+和-号

 

format rat

分数形式

 

format short g

Matlab自动选择最佳显示格式

 

format long g

Matlab自动选择最佳显示格式

 

 

常用数学函数

 

abs(x)

x的绝对值

sqrt(x)

x的平方根

Nthroot(x,n)

xn次方实数根,函数的输出结果不能是复数

sign(x)

如果x大于0输出1;如果如果x等于0输出0;如果如果x小于0输出-1

rem(x,y)

x/y的余数

Exp(x)

计算ex,其中e是自然对数的底,数值约等于2.7183

Log(x)

计算ln(x),它是x的自然对数(底为e

Log10(x)

计算lg(x),x的常用对数(底为10

Log2(x)

2为底的对数,其它数值为底的对数运算需要间接求得。Matlab未提供通用的对数运算函数

取 整 函 数

round(x)

x四舍五入

round(8.6)

ans=9

fix(x)

x取整,舍弃小数点后的数值

fix(8.6)

ans=8

floor(x)

x负向取整

floor(-8.6)

ans=-8

ceil(x)

x正向取整

ceil(-8.6)

ans=-8

 

离散数学中的函数

factor(x)

x进行因式分解

gcd(x,y)

找出xy的最大公因数

lcm

找出xy的最小公倍数

rats(x)

用分数表示x

factorial(x)

计算x的阶乘,如6!=6×5×4×3×2×1

nchoosek(n,k)

计算n中选k的组合数。如10中选3的可能组合数为120

primes(x)

提出小于x的素数

isprime(x)

检查x是否为素数,若x是素数,则返回1;否则,返回0

 

三角函数

sin(x)

X用弧度表示,计算x的正弦值

cos(x)

X用弧度表示,计算x的余弦值

tan(x)

X用弧度表示,计算x的正切值

asin(x)

X的取值在[-11]区间内,计算反正弦值,返回值在[-π/2, π/2]区间内

sinh(x)

X用弧度表示,计算x的双曲正弦值

asinh(x)

计算x的反双曲正弦值

sind(x)

X用角的度数表示,计算x的正弦值

asind(x)

计算反正弦,结果用角的度数表示

 

数据分析函数-最大值和最小值

max(x)

1)求出矢量x的最大值。例如x=[1 5 3]最大值是5

2)创建一个包含矩阵x中每列最大值的行矢量。

[a,b]=max(x)

求矢量x中元素的最大值和最大值的位置,a表示最大值,b表示最大值的位置。

x是矩阵,此函数生成两个行矢量,一个行矢量表示x各列的最大值,另一个行矢量对应最大值元素的位置。

max(x,y)

矩阵xy具有相同的行和列,用两个矩阵中相同位置元素的最大值创建一个新的矩阵

min(x)

1)求矢量x的最小值

2)创建一个包含矩阵x中每列最小值的行矢量。

[a,b]=min(x)

求矢量x中元素的最小值和最小值的位置,a表示最小值,b表示最小值的位置。

x是矩阵,此函数生成两个行矢量,一个行矢量表示x各列的最小值,另一个行矢量对应最小值元素的位置。

min(x,y)

矩阵xy具有相同的行和列,用两个矩阵中相同位置元素的最小值创建一个新的矩阵

 

数据分析函数-平均值和中间值

mean(x)

1)求矢量x的平均值。

2)当x为矩阵时,返回值是含有各列平均值的行矢量。

median(x)

1)求矢量x元素的中间值

2)当x为矩阵时,返回值是含有各列中间值的行矢量。

mode(x)

求数组中出现次数最多的数,即众数。

 

medianmode

median的用法:如果数组有奇数个,中间值就是将数组按大小顺序排列,取中间的那个数作为中值;如果数组有偶数个,那么就去中间那两个数的平均值。

mode的用法:求数组中出现次数最多的数;如果数组中的数出现的频率相同,则返回数值最小的数。

 

数据分析函数-求和与乘积

sum(x)

1)求矢量x各元素之和。

2)若x是矩阵,返回结果是包含各列元素之和的行矢量。

prood(x)

1)求矢量x各元素的乘积。

2)若x是矩阵,返回结果是包含各列元素乘积的行矢量。

cumsum(x)

1)求x元素的累加和。

2)若x是矩阵,计算矩阵各列元素的累加和。

cumprod(x)

1)求x元素的累积。

2)若x是矩阵,计算矩阵x各列元素的累积。

 

数据分析函数-排序

Sort(x)

1)对矢量x按升序排列。

2)若x是矩阵,则按列进行升序排序。

Sort(x,’ descend’)

各列按降序排列。

Sortrows(x)

以矩阵第一列为标准,升序排列矩阵各行。

Sortrows(x,n)

以矩阵第n列的数据为标准,按升序排序矩阵各行。若n为负数,则按降序排列,如果没有指定n的值,则以第一列为标准,按升序行排列。

 

数据分析函数-规模函数

size(x)

求矩阵x的行数和列数。若x为多维数组,则size用来求数组的维数和长度。

[a,b]=size(x)

确定矩阵x的行数和列数,a表示行数,b表示列数。

length(x)

确定矩阵的最大长度

 

数据分析函数-标准差和方差

std(x)

1)计算矢量x的标准差。但标准差一般只计算大规模数据集。

2)计算矩阵各列数据的标准差。再次强调,标准差仅限于分析大规模数据集。

var(x)

计算x的方差。但方差一般只计算大规模数据集。标准差是方差的平方根。

 

计算机生成了可选文字: 方差二2=艺(x、一川2k=1N一1

 

特殊函数

pi

数学常数π

 

i

虚数

 

j

虚数

 

inf

无穷大,数据溢出或除数为0时的输出

5/0

NaN

非数,当计算没有被定义时发生

Inf/inf

clock

为了增加返回结果可读性,函数clockfix一起使用

fix(clock)

date

当前日期。该函数与clock类似,不同之处在于返回的日期采用字符串格式。

date

eps

最接近1的双精度浮点数与1的距离,即Matlab中的最小极限

eps

 

Matlab的矩阵运算 

创建矩阵

矩阵合并

从矩阵中提取信息

矩阵特性的运用

 

冒号的使用

冒号运算符常用于定义一个新矩阵或修改原有矩阵。例如利用冒号可以定义一个等差数列。

在进行数值计算时,常用冒号从矩阵中提取数据。如果冒号用在代表行或列的序号位置,则表示所有的行或所有的列。

M=[1 2 3 4 5;2 3 4 5 6;3 4 5 6 7]

提取矩阵第一列的命令为:

      x=M(:,1)

上面的语句可理解为提取第1列的所有行。

如果不需要提取整行或整列,冒号可理解为从…行到…行或从…列到…列。

     y=M(2:3,:)

语句的含义可以理解为提取第2行到第3行的所有列

Z=M(2:3,4:5)

语句的含义为提取第2行到第3行的第4列到第5列数据。

如果在矩阵名后直接加上冒号M(:),就会把原矩阵变成一个列矢量

事实上,在计算机内部并不是按照二维的形式存储二维矩阵的,而是把矩阵看成是一个长的列表。

 

矩阵中数字的提取

如果需要从矩阵中提取数字,则可采用种方法,即用序号标示或用行和列标示

Eg:M=[1 2 3 4 5;2 3 4 5 6;3 4 5 6 7]

M(8);或M(2,3)

序号标示是按列开始数数字的序号

如果不知道矩阵有多少行或多少列,则可以用单词end表示最后一行或最后一列

Eg:M(1,end)

M(end,end)

M(end)

 

特殊矩阵

zeros(m)

创建m×m的全零矩阵

zeros(mn)

创建m×n的全零矩阵

ones(m)

创建m×m的全1矩阵

ones(m,n)

创建m×n的全1矩阵

diag(A)

提取二维矩阵A中的对角元素

fliplr

对矩阵的列进行左右对称翻转

flipud

对矩阵的行进行上下对称翻转

 

Matlab绘图

绘制二维图形,并对二维图形进行标注

调整图形

子图窗口的划分

绘制三维图形

使用交互绘图工具

 

二维图

简单的x-y坐标图,就可以根据x,y的值绘制图形。假设根据测量结果获得一组时间和距离的数据。

    x=[0:2:16];

    y=[0,0.33,4.13,6.29,11.19,13.19,13.96,16.33,18.17];

以x,y为参数,用plot命令描绘各点:

plot(x,y)

在实际工程中往往要给出图形的标题,以及坐标轴上变量的单位。用以下命令可以在图形上添加相应的标题、x轴和y轴的标注,以及栅格:

    plot (x,y)

    xlabel(‘Time,sec’)

    ylabel(‘Distance,ft’)

    grid on

也可以将上述语句合并在一起用逗号隔开写成一行或两行:

plot (x, y), title (‘Laboratory Experiment 1’)

xlabel(‘Time,sec’) , ylabel(‘Distance,ft’),grid

输入上面的命令时,单引号(‘)后的内容变为红色,用于提示输入字符串。输入后面的单引号后颜色变成紫色,提示输入的字符串结束。

在添加标题和坐标轴标注前要先创建图形,否则绘图命令会删除前面已经设置的标注。

命令xlabel,ylabel和title中的字符串一般用单引号结束。在Matlab中也可以使用撇号(如it’s)。输入两个单引号中间可以用撇号隔开,但不能使用双引号。

 

基本绘图功能

plot

创建一个x-y坐标图

plot(x,y)

title

添加标题

title(‘My Graph’)

xlabel

添加x轴标注

xlabel(‘time’)

ylabel

添加y轴标注

ylabel(‘distance’)

grid

添加栅格

grid,grid on,grid off

pause

暂停程序,观察图形

 

figure

定义当前图形

figure ,figure(2)

hold

保存图形

hold on/hold off


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xianglunxi/article/details/25338023

智能推荐

在Google使用Borg进行大规模集群的管理 7-8-程序员宅基地

文章浏览阅读606次。为什么80%的码农都做不了架构师?>>> ..._google trace batch job

python加密字符串小写字母循环后错两位_python学习:实现将字符串进行加密-程序员宅基地

文章浏览阅读2.6k次,点赞3次,收藏3次。'''题目描述1、对输入的字符串进行加解密,并输出。2加密方法为:当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0;其他字符不做变化。s'''#-*-coding:utf-8-*-importre#判断是否是字母defisLetter(letter):iflen..._编写函数fun2实现字符串加密,加密规则为:如果是字母,将其进行大小写转换;如果

【Java容器源码】集合应用总结:迭代器&批量操作&线程安全问题_迭代器是否可以保证容器删除和修改安全操作-程序员宅基地

文章浏览阅读4.4k次,点赞6次,收藏8次。下面列出了所有集合的类图:每个接口做的事情非常明确,比如 Serializable,只负责序列化,Cloneable 只负责拷贝,Map 只负责定义 Map 的接口,整个图看起来虽然接口众多,但职责都很清晰;复杂功能通过接口的继承来实现,比如 ArrayList 通过实现了 Serializable、Cloneable、RandomAccess、AbstractList、List 等接口,从而拥有了序列化、拷贝、对数组各种操作定义等各种功能;上述类图只能看见继承的关系,组合的关系还看不出来,比如说_迭代器是否可以保证容器删除和修改安全操作

养老金融:编织中国老龄社会的金色安全网

在科技金融、绿色金融、普惠金融、养老金融、数字金融这“五篇大文章”中,养老金融以其独特的社会价值和深远影响,占据着不可或缺的地位。通过政策引导与市场机制的双重驱动,激发金融机构创新养老服务产品,如推出更多针对不同年龄层、风险偏好的个性化养老金融产品,不仅能提高金融服务的可获得性,还能增强民众对养老规划的主动参与度,从而逐步建立起适应中国国情、满足人民期待的养老金融服务体系。在人口老龄化的全球趋势下,中国养老金融的发展不仅仅是经济议题,更关乎社会的稳定与进步。养老金融:民生之需,国计之重。

iOS 创建开源库时如何使用图片和xib资源

在需要使用图片的地方使用下面的代码,注意xib可以直接设置图片。将相应的图片资源文件放到bundle文件中。

R语言学习笔记9_多元统计分析介绍_r语言多元统计分析-程序员宅基地

文章浏览阅读3.6k次,点赞4次,收藏66次。目录九、多元统计分析介绍九、多元统计分析介绍_r语言多元统计分析

随便推点

基于psk和dpsk的matlab仿真,MATLAB课程设计-基于PSK和DPSK的matlab仿真-程序员宅基地

文章浏览阅读623次。MATLAB课程设计-基于PSK和DPSK的matlab仿真 (41页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!9.90 积分武汉理工大学MATLAB课程设计.目录摘要 1Abstract 21.设计目的与要求 32.方案的选择 42.1调制部分 42.2解调部分 43.单元电路原理和设计 63.1PCM编码原理及设计 63.1.1PCM编码原理 ..._通信原理课程设计(基于matlab的psk,dpsk仿真)(五篇模版)

腾讯微搭小程序获取微信用户信息_微搭 用微信号登录-程序员宅基地

文章浏览阅读3.5k次,点赞6次,收藏28次。腾讯微搭小程序获取微信用户信息无论你对低代码开发的爱与恨, 微信生态的强大毋庸置疑. 因此熟悉微搭技术还是很有必要的! 在大多数应用中, 都需要获取和跟踪用户信息. 本文就微搭中如何获取和存储用户信息进行详细演示, 因为用户信息的获取和存储是应用的基础.一. 微搭每个微搭平台都宣称使用微搭平台可以简单拖拽即可生成一个应用, 这种说法我认为是"夸大其词". 其实微搭优点大致来说, 前端定义了很多组件, 为开发人员封装组件节省了大量的时间,这是其一; 其二对后端开发来说, 省去了服务器的部署(并没有省去后_微搭 用微信号登录

sql中索引的使用分析

sql中索引的使用分析

termux安装metasploit()-程序员宅基地

文章浏览阅读8.9k次,点赞16次,收藏108次。因为呢,termux作者,不希望让termux变成脚本小子的黑客工具,于是把msf , sqlmap等包删了。至于如何安装metasploit呢。apt update -y && apt upgrade -y #更新升级更新升级之后要安装一个叫 git 的安装包apt install git -y然后我们就开始//这里的话建议把手机放到路由器旁边,保持网络的优良。或者科学上网。//git clone https://github.com/gushmazuko/metaspl_termux安装metasploit

armbian docker Chrome_一起学docker06-docker网络-程序员宅基地

文章浏览阅读141次。一、Docker支持4种网络模式Bridge(默认)--network默认网络,Docker启动后创建一个docker0网桥,默认创建的容器也是添加到这个网桥中;IP地址段是172.17.0.1/16 独立名称空间 docker0桥,虚拟网桥的工作方式和物理交换机类似,这样主机上的所有容器就通过交换机连在了一个二层网络中。host容器不会获得一个独立的network namespace,而是与宿主..._armbian 172.17.0.1

Ansible-Tower安装破解

Ansible-Tower安装破解。

推荐文章

热门文章

相关标签