matlab有⼀函数_写⼀程序_输⼊⾃变量的值_输出函数值.,第2
讲MATLAB⼊门1_数。。。
数学建模与数学实验
MATLAB⼊门数学建模及其基于 MATLAB的实现辽宁⼯程技术⼤学理学院应⽤数学系
MATLAB作为线性系统的⼀种分析和仿真⼯具,是理⼯科⼤学⽣应该掌握的技术⼯具,它作为⼀种编程语⾔和可视化⼯具,可解决 ⼯程,科学计算 和 数学学科 中许多问题。
MATLAB建⽴在 向量,数组 和 矩阵 的基础上,使⽤⽅便,⼈机界⾯直观,输出结果可视化 。
矩阵 是 MATLAB的核⼼
MATLAB的进⼊与运⾏⽅式(两种)
MATLAB⼊门⼀、变 量 与 函 数⼆、数 组三,矩 阵四,MATLAB编程五,实 验 作 业
1、变量
MATLAB中变量的 命名规则 是:
( 1)变量名必须是不含空格的单个词;
( 2)变量名区分⼤⼩写;
( 3)变量名最多不超过 19个字符;
( 4)变量名必须以字母打头,之后可以是任意字母、数字或下划线,变量名中不允许使⽤标点符号,
⼀、变 量 与 函 数特殊变量 取 值
a n s ⽤于结果的缺省变量名
pi 圆周率
e p s
计算机的最⼩数,当和 1 相加就产⽣⼀个⽐
1 ⼤的数
f l o p s 浮点运算数
in f ⽆穷⼤,如 1 / 0
N a N 不定量,如 0 / 0
i,j i= j=
1?
n a r g i n 所⽤函数的输⼊变量数⽬
n a r g o u t 所⽤函数的输出变量数⽬
r e a l m i n 最⼩可⽤正实数
r e a l m a x 最⼤可⽤正实数特殊变量表
2、数学运算符号及标点符号
+ 加法运算,适⽤于两个数或两个同阶矩阵相加,
— 减法运算
* 乘法运算
.* 点乘运算
/ 除法运算
./ 点除运算
^ 乘幂运算
.^ 点 乘幂运算
\ 反斜杠表⽰左除,
( 1) MATLAB的每条命令后,若为 逗号 或 ⽆标点 符号,
则显⽰命令的结果;若命令后为 分号,则禁⽌显⽰结果,
( 2),%” 后⾯所有⽂字为注释,
( 3),,..”表⽰续⾏,
函 数 名 称 函 数 名 称
matlab定义函数表达式s i n ( x ) 正弦函数 a s i n ( x ) 反正弦函数
c o s ( x ) 余弦函数 a c o s ( x ) 反余弦函数
t a n ( x ) 正切函数 a t a n ( x ) 反正切函数
a b s ( x ) 绝对值 m a x ( x ) 最⼤值
m i n ( x ) 最⼩值 s u m ( x ) 元素的总和
s q r t ( x ) 开平⽅ e x p ( x ) 以 e 为底的指数
l o g ( x ) ⾃然对数
)(l og
10
x
以 10 为底的对数
s i g n ( x ) 符号函数 f i x ( x ) 取整
3、数学函数
MATLAB的内部函数是有限的,有时为了研究某⼀个函数的各种性态,需要为 MATLAB定义新函数,为此必须编写函数⽂件,函数⽂件是⽂件名后缀为 M
的⽂件,这类⽂件的 第⼀⾏必须是⼀特殊字符
function开始,格式为:
function 因变量名 =函数名(⾃变量名)
函数值的获得必须通过具体的运算实现,并赋给因变量,
4,M⽂件
M⽂件建⽴⽅法,1,在 Matlab中,点,File->New->M-file
2,在编辑窗⼝中输⼊程序内容
3,点,File->Save,存盘,M⽂件名必须与函数名⼀致。
Matlab的应⽤程序也以 M⽂件保存。
例:定义函数 f(x1,x2)=100(x2-x12)2+(1-x1)2
function f=fun(x)
f=100*(x(2)-x(1)^2)^2+(1-x(1))^2
1.建⽴ M⽂件,fun.m
MATLAB
(fun)
2,可以直接使⽤函数 fun.m
例如:计算 f(1,2),只需在 Matlab命令窗⼝键⼊命令:
x=[1 2]
fun(x)
返回
x=logspace(first,last,n)
创建从开始,到结束,有 n个元素的对数分隔⾏向量,
1、创建简单的数组⼆、数 组 MATLAB(shuzu1)
x=[a b c d e f ] 创建包含指定元素的⾏向量
x=first,last
创建从 first开始,加 1计数,到 last结束的⾏向量
x=first,increment,last
创建从 first开始,加 increment计数,last结束的⾏向量
x=linspace(first,last,n)
创建从 first开始,到 last结束,有 n个元素的⾏向量
2,数组元素的访问
MATLAB
(shuzu2)
( 3) 直接使⽤元素编址序号,x([a b c d]) 表⽰提取数组 x的第 a,b,c,d个元素构成⼀个新的数组
[x(a) x(b) x(c) x(d)],
( 2) 访问⼀块元素,x(a,b,c)表⽰访问数组 x的从第 a
个元素开始,以步长为 b到第 c个元素(但不超过 c),b可以为负数,b缺损时为 1,
( 1) 访问⼀个元素,x(i)表⽰访问数组 x的第 i个元素,
3、数组的⽅向前⾯例⼦中的数组都是⼀⾏数列,是⾏⽅向分布的,
称之为 ⾏向量,数组也可以是 列向量,它的数组操作和运算与⾏向量是⼀样的,唯⼀的区别是结果以列形式显⽰,
产⽣列向量有两种⽅法:
直接产⽣ 例 c=[1; 2; 3; 4]
转置产⽣ 例 b=[1 2 3 4]; c=b’
说明:以 空格 或 逗号 分隔的元素指定的是不同列的元素,⽽以 分号 分隔的元素指定了不同⾏的元素,
4、数组的运算
( 1)标量 -数组运算数组对标量的加、减、乘、除、乘⽅是数组的每个元素对该标量施加相应的加、减、乘、除、乘⽅运算,
设,a=[a1,a2,…,a n],c=标量则,a+c=[a1+c,a2+c,…,a n+c]
a.*c=[a1*c,a2*c,…,a n*c]
a./c= [a1/c,a2/c,…,a n/c](右除)
a.\c= [c/a1,c/a2,…,c/a n] (左除)
a.^c= [a1^c,a2^c,…,a n^c]
c.^a= [c^a1,c^a2,…,c^a n] MATLAB(shuzu3)
( 2) 数组 -数组运算当两个数组有相同维数时,加、减、乘、除、
幂运算可按 元素对元素 ⽅式进⾏的,不同⼤⼩或维数的数组是不能进⾏运算的,
设,a=[a1,a2,…,a n],b=[b1,b2,…,b n]
则,a+b= [a1+b1,a2+b2,…,a n+bn]
a.*b= [a1*b1,a2*b2,…,a n*bn]
a./b= [a1/b1,a2/b2,…,a n/bn]
a.\b=[b1/a1,b2/a2,…,b n/an]
a.^b=[a1^b1,a2^b2,…,a n^bn]
MATLAB
(shuzu4)
返回三,矩 阵逗号 或 空格 ⽤于分隔某⼀⾏的元素,分号 ⽤于区分不同的⾏,除了分号,在输⼊矩阵时,按 Enter键也表⽰开始⼀新⾏,输⼊矩阵时,严格要求所有⾏有相同的列,
例 m=[1 2 3 4 ; 5 6 7 8; 9 10 11 12]
p=[1 1 1 1
2 2 2 2
3 3 3 3]
1、矩阵的建⽴特殊矩阵 的建⽴,,
MATLAB
(matrix1)
d=eye(m,n) 产⽣⼀个 m⾏,n列的单位矩阵
c=ones(m,n) 产⽣⼀个 m⾏,n列的元素全为 1的矩阵
b=zeros(m,n) 产⽣⼀个 m⾏,n列的零矩阵
a=[ ] 产⽣⼀个空矩阵,当对⼀项操作⽆结果时,返回空矩阵,空矩阵的⼤⼩为零, 2、矩阵中元素的操作
MATLAB
(matrix2)
( 1)矩阵 A的第 r⾏,A( r,:)
( 2)矩阵 A的第 r列,A(:,r)
( 4)取矩阵 A的第 i1~i2⾏、第 j1~j2列构成新矩阵,A(i1:i2,j1:j2)
( 5)以逆序提取矩阵 A的第 i1~i2⾏,构成新矩阵,A(i2:-1,i1,:)
( 6)以逆序提取矩阵 A的第 j1~j2列,构成新矩阵,A(:,j2:-1,j1 )
( 7)删除 A的第 i1~i2⾏,构成新矩阵,A(i1:i2,,)=[ ]
( 8)删除 A的第 j1~j2列,构成新矩阵,A(:,j1:j2)=[ ]
( 9)将矩阵 A和 B拼接成新矩阵,[A B]; [A; B]
( 3)依次提取矩阵 A的每⼀列,将 A拉伸为⼀个列向量,A(:)
( 2)矩阵 -矩阵运算
[1] 元素对元素 的运算,同数组 -数组运算。
3、矩阵的运算
( 1)标量 -矩阵运算同标量 -数组运算。
MATLAB
(matrix3)
[2]矩阵运算:
矩阵加法,A+B
矩阵乘法,A*B
⽅阵的⾏列式,det( A)
⽅阵的逆,inv( A)
⽅阵的特征值与特征向量,[V,D]=eig[A]
返回关系与逻辑运算
1、关系操作符关系操作符 说明
< ⼩于
<= ⼩于或等于
> ⼤于
>= ⼤于或等于
= = 等于
~= 不等于
2,逻辑运算符逻辑操作符 说明
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论