MATLAB基础知识.docx
《MATLAB基础知识.docx》由会员分享,可在线阅读,更多相关《MATLAB基础知识.docx(9页珍藏版)》请在冰豆网上搜索。
MATLAB基础知识
一、1、数学建模基础知识及常用命令
一、界面窗口介绍:
1命令窗口(commandwindow),窗口中输入命令,回车实现计算或绘图功能。
2工作空间窗口(workspace)运行matlab命令时所产生的变量都被加入到工作空间,该窗口可以显示命令窗口中已输入的变量的名称,数值等。
3命令历史窗口(commandhistory)显示所有执行过的命令,选定某个命令时可以双击或按F9执行。
4当前目录窗口(Currentfolder)显示当下目录下的文件信息。
二、常用运算
1、算术运算符
加+减-乘*左除/右除\乘方^
注意:
在普通的数值运算中,左除为我们常用的除法形式,左除右除结果比较像逆运算,如1/2和1\2结果互为倒数,但在矩阵的运算中,结果完全不一样,类似于左乘和右乘结果一般会不一样。
运算的优先级:
从左到右,幂运算最高优先级,乘除法具有相同次优先级,加减法具有相同的低优先级,括号可以用来改变优先次序。
大家可以进行几个普通计算(练习10分钟)
1、
2、
2、数据显示格式
默认情况下,matlab显示小数点后4位小数,可以利用format命令改变显示格式(一般写在要改变的数值的命令前):
formatshort小数点后4位
formatlong小数点后15位
formatbank小数点后2位(以上为三个常用的)
formatrat最接近的有理数
如以
为例:
>>pi
=3.1416
>>formatlong
>>pi
ans=3.1493
>>formatrat
>>pi
ans=355/113
>>formatbank
>>pi
ans=3.14
>>formatshort
>>pi
ans=3.1416
三、matlab变量
1、变量赋值形式
变量=表达式(数值)或表达式(数值)
其中,“=”为赋值符号,将右边表达式的值赋给左边变量(上面左的含义),当不指定输出变量时,matlab将表达式的值赋给临时变量ans(右的含义)。
同一行可以有多个变量赋值,用分号(不显示结果)或逗号(显示结果)分隔。
2、变量命名规则
变量名必须以字母开头,后面可跟字母、数字或下划线。
变量名区分字母的大小写,例如a和A是两个不同的变量。
变量名不超过63个字符。
常用的特殊变量:
pi圆周率inf正无穷大eps最小浮点数
i,j虚数单位NaN非数值,0/0,inf/inf,0*inf
3、数组(向量)的建立
两种方式:
(1)在方括号中一次输入元素,中间用逗号或空格分开。
如:
a=[1,-5,0,1/3,pi]
a=1.0000-5.000000.33333.1416
若要使用其中某个元素,可在括号中输入列号(即第几个元素),例如取第二个元素
a
(2)
ans=-5
(2)利用符号“:
”建立等差数组。
格式:
x=初值:
步长:
终值(步长为1时可省略,步长也可以为负数)
如建立一个1至6,步长为1的等差数组:
a=1:
1:
6
a=123456
4、数组的运算
数组元素的乘除与乘幂运算必须在运算符前加点,称为“点”运算
.*点乘./点除.^点幂
例如:
设
,求
。
x=1:
5;
>>f=x.^2-1./x
f=03.50008.666715.750024.8000
四、符号变量
1、符号变量与符号表达式
可以用syms命令先定义一个个符号变量,再建立更多的符号变量。
在建立多个符号变量时,可依次输入,中间用空格分开。
symsabx;
>>y=a*x-b/x+5
y=
a*x-b/x+5
2、字符变量
在matlab中用单引号括起来的一串字符称为字符串,字符串赋给变量,就构成字符变量。
'hello'
ans=
hello
五、常用函数
sin(x)正弦函数asin(x)反正弦函数
cos(x)余弦函数acos(x)反余弦函数
tan(x)正切函数atan(x)反正切函数
cot(x)余切函数acot(x)反余切函数
sec(x)正割函数asec(x)反正割函数
csc(x)余割函数acsc(x)反余割函数
sqrt(x)平方根log(x)自然对数
abs(x)绝对值log10(x)以10为底的对数
exp(x)以e为底的指数log2(x)以2为底的对数
pow2(x)以2为底的指数sign(x)符号函数
计算
,其中x=1.42,y=0.52
x=1.42,y=0.52;
sqrt(sin(abs(x)+abs(y)))/(x^2+y^2)
ans=
0.4223
六、因式分解的命令
factor(eq)
例1、
symsx;y=x^2+3*x+2;factor(y)
或者symsx;factor(x^2+3*x+2)
七、多项式展开的命令
expand(eq)
例2、
>>symsx;
>>y=(x-1)^10;
>>expand(y)
八、求极限的命令
limit(f,x,a)求函数f当x趋于a时的极限;
limit(f,a)求函数f当x趋于a时的极限(系统默认x为自变量);
limit(f)求函数f当x趋于0时的极限;
limit(f,x,a,’left’)求函数f当x趋于a时的左极限;
limit(f,x,a,’right’)求函数f当x趋于a时的右极限;
九、求导命令
diff(y,x,n)函数y关于自变量x的n阶导数(如果是一元函数求导,x可省略,直接用diff(y,n)指令即可;如果是一阶导数,则n可以省略,直接用diff(y,x)或diff(y)即可。
)
diff(z,x,n)函数z关于x的偏导数。
(此处“x”不能省去,如果是一阶偏导数,则n可以省略,直接用diff(z,x)
例
十、求积分命令
int(f,x)(求f对x的不定积分)(若自变量为x,则命令中的x也可省去)
int(f,x,a,b)(求f对x在区间[a,b]上的定积分)
int(f,x,a,inf)(求f对x在区间(a,
]上的广义积分)
int(f,x,-inf,b)(求f对x在区间[
b]上的广义积分)
int(f,x,-inf,inf)(求f对x在区间[
]上的广义积分)
(clear清空内存变量clc清空工作区变量)
例求下列函数的积分
1
symsx;
y=exp(x)*(sin(x))^2;
int(y,x)
2
symst;
y=(sqrt(t)+t)*log(t);
int(y,t)
3
symsx;
y=sqrt(1-sin(2*x));
int(y,x,0,pi/2)
4
symsx;
y=1/sqrt(2*pi)*exp(-x^2/2);
int(y,x,-inf,inf)
一、运算符号练习
结果如下:
1、>>x=-2.1;
>>f=2-3^x*log(abs(x))
f=
1.9261
2、x=1.23
x=
1.2300
>>f=atan(x)+sqrt(log(x+1))
f=
1.7837
a=2.3;b=4.89;
>>z=sqrt(a^2+b^2)/abs(a-b)
z=
2.0864
x=exp
(1);y=1.59;
>>z=(tan(x+pi/4)-sqrt(3*y))/(6*exp(-abs(x))+(log(y))^2)
z=
-2.9547
a=1:
12;
>>f=1/(x.*sqrt(x.^2+1))
f=
0.1270