本节将简要介绍下matlab中的基础计算、函数、数据类型。
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
Matlab可以作为你的计算器使用,进行初级的数值计算,也可以进行求微积分、极限、符号计算等高级运算。
matlab的运算符包括 +、 - 、/ 、x、 ^
>> 2022+1
ans =
2023
>>
减法运算,-,乘除法运算类似,下面就不一一演示了。
除法运算,/
乘法运算,x
幂运算,要注意的是幂运算是这种形式 底数^幂次
>> 2024-1
ans =
2023
幂次运算如下
>> 2^3
ans =
8
基础函数包括三角函数,自然指数,开方函数,对数函数等
需要注意的是,在matlab里默认的是弧度值,当你想要计算sin(90°)的时候,需要用π转换,下面的例子就是计算90弧度值与90°的两个表达式
>> sin(90)
ans =
0.893996663600558
>> sin(pi/2)>>
ans =
1
下面是求解根号9的结果与27的三次开方结果,-27的三次开方结果的代码:
>> sqrt(9)
ans =
3
>> power(27,1/3)
ans =
3
>> nthroot(27,3)
ans =
3
>> power(-27,1/3)
ans =
1.5 + 2.59807621135332i
在matlab里,自然指数e为exp,但是当你想用的时候要用exp(1),代表e的1次方。圆周率π为pi:
>> exp(1)
ans =
2.71828182845905
>> pi
ans =
3.14159265358979
在matlab里,log就是以自然指数为底的对数函数,也就是loge(x),下面是指数函数的用法,第一个例子为求解ln(e),第二个例子为求解log28:
>> log(exp(1))
ans =
1
>> log2(8)
ans =
3
让我们来做一个练习,计算一下比较复杂的表达式:
1.求解esin(π)
2求解cos( ( 1 + 2 + 3 ) 3 5 \sqrt{\frac{(1+2+3)^3}{5}} 5(1+2+3)3)
代码如下:
>> exp(sin(pi))
ans =
1
>> cos(sqrt((1+2+3)^3/5))
ans =
0.958390904529822
本节介绍一下matlab中所使用的数据类型,包括布尔值、字符串、列表、元胞数组、结构体、函数。
matlab里有一些特殊变量,包括如下几种:
以下图中代表matlab的调用优先级,自定义变量>内置函数>子函数>私有函数。
常用命令:
clc 清空命令行窗口
clear 清空工作区所有变量
who 显示工作区有哪些变量
matlab中的向量计算是要符合向量运算规则的,以下为向量运算示例:
>> a=[1 2 3 4] 定义1*4的行向量
a =
1 2 3 4
>> b=[1;2;3;4] 定义4*1的列向量
b =
1
2
3
4
>> a*b 向量内积,结果为常数
ans =
30
>> b*a 向量运算,结果为矩阵
ans =
1 2 3 4
2 4 6 8
3 6 9 12
4 8 12 16
以下是matla中矩阵的索引方式,首先要注意的是,matlab中变量的位置索引是从1开始的,不像大多数编程语言的0开始。
>> A=[1 21 6;5 17 9;31 2 7] 定义一个3*3的矩阵A
A =
1 21 6
5 17 9
31 2 7
>> A(8) 坐标索引,从上往下,从左往右,第8个元素的值
ans =
9
>> A([1 3 5]) 坐标索引,从上往下,从左往右,第1、3、5个元素的值
ans =
1 31 17
>> A([1 3;1 3]) 坐标索引,结果为用新元素创建的新的矩阵。从上往下,从左往右,第1、3、1、3个元素的值
ans =
1 31
1 31
>> A(3,2) 坐标索引,位置处于第3行,第2列的元素
ans =
2
>> A([1 3],[1 3])
坐标索引,位置处于第1行,第1列的元素,第1行,第3列的元素,第3行,第1列的元素,第3行,第3列的元素
ans =
1 6
31 7
>>
matlab的强大之处还在于它的切片索引,包括行切片与列切片。
>> A=[1 21 6;5 17 9;31 2 7]定义一个3*3的矩阵
A =
1 21 6
5 17 9
31 2 7
>> A(1:2)对第一列的位置为1到2的元素切片。
ans =
1 5
>> A(1,:)切片第一行元素,":"代表所有元素
ans =
1 21 6
>> A(:,2)切片第一列元素,":"代表所有元素
ans =
21
17
2
matlab的字符串索引,以下示例为把a字符串从第二个元素切到第八个元素,其中步长为2.
>> a='qwertyuio'
a =
'qwertyuio'
>> a(2:2:8)
ans =
'wryi'
>> s='a':2:'z'
s =
'acegikmoqsuwy'
>>
以上就是matlab初级教程第二课要讲的内容,本文仅仅简单介绍了matlab里的基础运算与函数使用,不同的数据类型,要想使用的熟练还是要像第二节计算表达式那样多多练习哦。