matlab在科学计算中的应用1
2017-03-31 16:29
393 查看
一MATLAB 基本命令简介
二MATLAB 程序设计语言基础
数值型数据结构
符号型变量数据类型
MATLAB支持的其它数据结构
MATLAB 的基本语句结构
三基本数学运算
矩阵的代数运算
矩阵的逻辑运算
矩阵的比较运算
解析结果的化简与变换
基本数论运算
四MATLAB 语言流程控制
循环结构
转移结构
开关结构
试探结构
五MATLAB 函数的编写
MATLAB 语言的函数的基本结构
可变输入输出个数
inline 函数和匿名函数
六二维图形绘制
二维图形绘制基本语句
其他二维图形绘制语句
隐函数绘制及应用
七三维图形绘制
三维曲线绘制
三维曲面绘制
cd 显示修改工作目录
clc 擦除工作窗口显示内容
clf 擦除工作窗口图形
dir 列出目录下文件清单
disp 在运行中显示变量或文字内容
echo 控制运行的文字命令是否显示
hold 控制图形窗口是否刷新
home 擦除命令窗口所有内容
pack 收集内存碎片
quit 退出
type 显示指定文件的全部内容
exit 退出
help 帮助
demo 演示
look for 查找M文件,通过完整的或部分关键字来搜索要查找的内容
who 列出内存中变量
whos 详细信息
what 列出目录下文件
which 显示路径
exist 查找或检查变量和函数的存在性
doc 显示帮助文件
(1)MATLAB的每条命令后,若为逗号或无标点符号,则显示命令的结果;若命令后为分号,则禁止显示结果.
(2)“%” 后面所有文字为注释.
(3) “…”表示续行.
其他数据类型:uint8( ),无符号8位整形数据类型,值域为0至255,常用于图像表示和处理。int8( ), int16( ), int32( ),uint16( ), uint32( )
符号变量声明: syms var_list var_props
例:syms a b real/ syms c positive
符号型数值可采用变精度函数求值:vpa(A), 或 vpa (A,n)
例:vpa(pi,60)
多维数组:是矩阵的直接扩展,多个下标。
单元数组:将不同类型数据集成到一个变量名下面,用{}表示;例:用A{i,j}可表示单元数组A的第i行,第j列的内容。
类与对象:允许用户自己编写包含各种复杂详细的变量,可以定义传递函数。
函数调用语句:
[返回变量列表]=函数名(输入变量列表)
例:[a,b,c]=my_fun(d,e,f,c)
冒号表达式:v=s1:s2:s3
该函数生成一个行向量v,其中s1是起始值, s2是步长(若省略步长为1), s3是最大值(不含)。
例:v=[0:0.4:pi,pi] 包括pi
子矩阵提取:B=A(v1,v2)
v1、 v2分别表示提取行(列)号构成的向量。
例:B2=A([3,2,1],[2,3,4]) %提取3,2,1行、2,3,4列构成子矩阵
矩阵加减法:C=A+B D=A-B
注意维数是否相等
注意其一为标量的情形
矩阵乘法:C=A*B
矩阵除法:
矩阵左除:AX = B,求 X
MATLAB 求解:X=A\B
若A为非奇异方阵,则 X=A-1B
最小二乘解(若A不是方阵)
矩阵右除:XA = B,求 X
MATLAB求解:X=B/A
若A为非奇异方阵,则 X=BA-1
最小二乘解(若A不是方阵)
矩阵翻转
左右翻转 B=fliplr(A)
上下翻转 C=flipud(A)
旋转 90(逆时针) D=rot90(A)
矩阵乘方:F=A^x
MATLAB中矩阵与数组的区别,点运算符的运用:
一维数组相当于向量,二维数组相当于矩阵,所以矩阵是数组的子集。 数组运算是指数组对应元素之间的运算,也称点运算。
数组运算:数组乘数组 A.*B
矩阵运算:矩阵乘法 A*B 按数学定义的矩阵乘法规则
乘方:k.^A 以k为底的,分别以A的元素为指数求幂值.
或运算 (or) A|C
非运算(not) ~A
异或运算 xor(A,C)
对 double 变量来说,非 0 表示逻辑 1
, >, >=, <, <=, ==,~=, find(), all(), any()
find(A>=5), %大于或等于5元素的下标 ,按列从上自下,从左至右数。
[i,j]=find(A>=5);[i,j] %显示行标,列标
all(A>=5) %某列元素全大于或等于5时,相应元素为1,否则为0。
any(A>=5) %某列元素中含有大于或等于5时,相应元素为1,否则为0。
从各种方法中自动选择最简格式 :s1=simple(s)
[s1,how]=simple(s)
化简并返回实际采用的化简方法。其中,s为原始表达式,s1为化简后表达式,how为采用的化简方法。
其它常用化简函数:
collect( ) 合并同类项
expand( ) 展开多项式
factor( ) 因式分解
numden( ) 提取多项式的分子和分母
sincos( ) 三角函数的化简
变量替换
f=subs(f,{a,b,c,d,t},{a’,b’…,t’})
例:f1=subs(f,{a,b,c,d,t},{0.5*pi,pi,0.25*pi,0.125*pi,4})
floor(A) % 向 -inf 方向取整
ceil(A) % 向 +inf 方向取整
round(A) %取最近的整数
A=hilb(3); [n,d]=rat(A) %将元素变换成最小有理数,n,d分别为分子、分母矩阵。
gcd(m,n), lcm(m,n) %求m,n的最大公约数、最小公倍数。
factor(A) %对A进行质因数分解。
isprime(A) %若向量A中某个整数值为质数,则相应位置为1,其他为零。
rem(A,C) %A中元素对C中元素求模得出的余数。
当开关表达式的值等于某表达式,执行该语句后结束该结构,不用 break
当需要在开关表达式满足若干个表达式之一时执行某一程序段,则用单元形式 (用大括号把这些表达式括起来,用逗号分隔)
otherwise 语句,不是C语言中的 default(但与之等价)
程序的执行结果和各个case顺序无关
case 语句中条件不能重复,否则列在后面的条件将不能执行
全新结构(首先试探性执行语句1,若执行过程中有错,将错误信息赋给保留的lasterr变量,并终止这段语句的执行,转而执行语句2。)应将不保险但快的算法放在语句1,保险的放在语句2;或语句2说明语句1失效原因。
nargin, nargout
分别表示输入和返回变量的实际个数,此为MATLAB保留变量,只要进入该函数, MATLAB就将自动生成这两个变量。
varargin, varargout
输入、输出变量列表(可变输入输出个数)。
P=[1 2 4 0 5]; Q=[1 2]; F=[1 2 3];
D=convs(P,Q,F)
poly2sym(D) %显示为多项式解析式
例:画分段函数
subplot(a,b,c):将多个图画到一个平面上。图排成m行n列,也就是整个figure中有n个图是排成一行的,一共m行。p表示图所在的位置,p=1表示从左到右从上到下的第一个位置。
[X,Y] = meshgrid(x,y):用于生成网格采样点的函数,输出X的每一行的数值都是复制的x的值,一共size(y)行;输出Y的每一列的数值都是复制的y的值,一共size(x)列。即想象成x轴上取向量x中的点,y轴上取向量y中的点,交叉处的网格点即为所求。
[X1,X2,X3,…] = ndgrid(x1,x2,x3,…):更高维的同meshgrid函数功能的函数,在2-D、3-D绘图时,还有个小差别:
[X,Y,Z] = meshgrid(x,y,z)等效于[Y,X,Z] = ndgrid(y,x,z)
二MATLAB 程序设计语言基础
数值型数据结构
符号型变量数据类型
MATLAB支持的其它数据结构
MATLAB 的基本语句结构
三基本数学运算
矩阵的代数运算
矩阵的逻辑运算
矩阵的比较运算
解析结果的化简与变换
基本数论运算
四MATLAB 语言流程控制
循环结构
转移结构
开关结构
试探结构
五MATLAB 函数的编写
MATLAB 语言的函数的基本结构
可变输入输出个数
inline 函数和匿名函数
六二维图形绘制
二维图形绘制基本语句
其他二维图形绘制语句
隐函数绘制及应用
七三维图形绘制
三维曲线绘制
三维曲面绘制
一、MATLAB 基本命令简介
clear 清内存cd 显示修改工作目录
clc 擦除工作窗口显示内容
clf 擦除工作窗口图形
dir 列出目录下文件清单
disp 在运行中显示变量或文字内容
echo 控制运行的文字命令是否显示
hold 控制图形窗口是否刷新
home 擦除命令窗口所有内容
pack 收集内存碎片
quit 退出
type 显示指定文件的全部内容
exit 退出
help 帮助
demo 演示
look for 查找M文件,通过完整的或部分关键字来搜索要查找的内容
who 列出内存中变量
whos 详细信息
what 列出目录下文件
which 显示路径
exist 查找或检查变量和函数的存在性
doc 显示帮助文件
二、MATLAB 程序设计语言基础
MATLAB 的保留常量:(1)MATLAB的每条命令后,若为逗号或无标点符号,则显示命令的结果;若命令后为分号,则禁止显示结果.
(2)“%” 后面所有文字为注释.
(3) “…”表示续行.
1. 数值型数据结构
双精度数值变量:double( ) 函数的转换。其他数据类型:uint8( ),无符号8位整形数据类型,值域为0至255,常用于图像表示和处理。int8( ), int16( ), int32( ),uint16( ), uint32( )
2. 符号型变量数据类型
符号型,sym(A), 常用于公式推导、解析解解法符号变量声明: syms var_list var_props
例:syms a b real/ syms c positive
符号型数值可采用变精度函数求值:vpa(A), 或 vpa (A,n)
例:vpa(pi,60)
3. MATLAB支持的其它数据结构
字符串型数据:用单引号括起来 。多维数组:是矩阵的直接扩展,多个下标。
单元数组:将不同类型数据集成到一个变量名下面,用{}表示;例:用A{i,j}可表示单元数组A的第i行,第j列的内容。
类与对象:允许用户自己编写包含各种复杂详细的变量,可以定义传递函数。
4. MATLAB 的基本语句结构
直接赋值语句:赋值变量=赋值表达式函数调用语句:
[返回变量列表]=函数名(输入变量列表)
例:[a,b,c]=my_fun(d,e,f,c)
冒号表达式:v=s1:s2:s3
该函数生成一个行向量v,其中s1是起始值, s2是步长(若省略步长为1), s3是最大值(不含)。
例:v=[0:0.4:pi,pi] 包括pi
子矩阵提取:B=A(v1,v2)
v1、 v2分别表示提取行(列)号构成的向量。
例:B2=A([3,2,1],[2,3,4]) %提取3,2,1行、2,3,4列构成子矩阵
三、基本数学运算
1. 矩阵的代数运算
矩阵转置:C=A’矩阵加减法:C=A+B D=A-B
注意维数是否相等
注意其一为标量的情形
矩阵乘法:C=A*B
矩阵除法:
矩阵左除:AX = B,求 X
MATLAB 求解:X=A\B
若A为非奇异方阵,则 X=A-1B
最小二乘解(若A不是方阵)
矩阵右除:XA = B,求 X
MATLAB求解:X=B/A
若A为非奇异方阵,则 X=BA-1
最小二乘解(若A不是方阵)
矩阵翻转
左右翻转 B=fliplr(A)
上下翻转 C=flipud(A)
旋转 90(逆时针) D=rot90(A)
矩阵乘方:F=A^x
MATLAB中矩阵与数组的区别,点运算符的运用:
一维数组相当于向量,二维数组相当于矩阵,所以矩阵是数组的子集。 数组运算是指数组对应元素之间的运算,也称点运算。
数组运算:数组乘数组 A.*B
矩阵运算:矩阵乘法 A*B 按数学定义的矩阵乘法规则
乘方:k.^A 以k为底的,分别以A的元素为指数求幂值.
2. 矩阵的逻辑运算
与运算(and) A&C或运算 (or) A|C
非运算(not) ~A
异或运算 xor(A,C)
对 double 变量来说,非 0 表示逻辑 1
3. 矩阵的比较运算
各种允许的比较关系, >, >=, <, <=, ==,~=, find(), all(), any()
find(A>=5), %大于或等于5元素的下标 ,按列从上自下,从左至右数。
[i,j]=find(A>=5);[i,j] %显示行标,列标
all(A>=5) %某列元素全大于或等于5时,相应元素为1,否则为0。
any(A>=5) %某列元素中含有大于或等于5时,相应元素为1,否则为0。
4. 解析结果的化简与变换
化简:从各种方法中自动选择最简格式 :s1=simple(s)
[s1,how]=simple(s)
化简并返回实际采用的化简方法。其中,s为原始表达式,s1为化简后表达式,how为采用的化简方法。
其它常用化简函数:
collect( ) 合并同类项
expand( ) 展开多项式
factor( ) 因式分解
numden( ) 提取多项式的分子和分母
sincos( ) 三角函数的化简
变量替换
f=subs(f,{a,b,c,d,t},{a’,b’…,t’})
例:f1=subs(f,{a,b,c,d,t},{0.5*pi,pi,0.25*pi,0.125*pi,4})
5. 基本数论运算
下取整、上取整、四舍五入、离0近方向取整、最简有理数、求模的余数、最大公约数、最小公倍数、质因数分解、判定是否为质数floor(A) % 向 -inf 方向取整
ceil(A) % 向 +inf 方向取整
round(A) %取最近的整数
A=hilb(3); [n,d]=rat(A) %将元素变换成最小有理数,n,d分别为分子、分母矩阵。
gcd(m,n), lcm(m,n) %求m,n的最大公约数、最小公倍数。
factor(A) %对A进行质因数分解。
isprime(A) %若向量A中某个整数值为质数,则相应位置为1,其他为零。
rem(A,C) %A中元素对C中元素求模得出的余数。
四、MATLAB 语言流程控制
1. 循环结构
2. 转移结构
3. 开关结构
当开关表达式的值等于某表达式,执行该语句后结束该结构,不用 break
当需要在开关表达式满足若干个表达式之一时执行某一程序段,则用单元形式 (用大括号把这些表达式括起来,用逗号分隔)
otherwise 语句,不是C语言中的 default(但与之等价)
程序的执行结果和各个case顺序无关
case 语句中条件不能重复,否则列在后面的条件将不能执行
4. 试探结构
全新结构(首先试探性执行语句1,若执行过程中有错,将错误信息赋给保留的lasterr变量,并终止这段语句的执行,转而执行语句2。)应将不保险但快的算法放在语句1,保险的放在语句2;或语句2说明语句1失效原因。
五、MATLAB 函数的编写
1. MATLAB 语言的函数的基本结构
nargin, nargout
分别表示输入和返回变量的实际个数,此为MATLAB保留变量,只要进入该函数, MATLAB就将自动生成这两个变量。
varargin, varargout
输入、输出变量列表(可变输入输出个数)。
2. 可变输入输出个数
例: conv( ) 可以计算两个多项式的积, 用 varargin 实现任意多个多项式的积function a=convs(varargin) a=1; for i=1:length(varargin), a=conv(a,varargin{i}); end
P=[1 2 4 0 5]; Q=[1 2]; F=[1 2 3];
D=convs(P,Q,F)
poly2sym(D) %显示为多项式解析式
3. inline 函数和匿名函数
六、二维图形绘制
1. 二维图形绘制基本语句
例:画分段函数
2. 其他二维图形绘制语句
3. 隐函数绘制及应用
七、三维图形绘制
1. 三维曲线绘制
2. 三维曲面绘制
subplot(a,b,c):将多个图画到一个平面上。图排成m行n列,也就是整个figure中有n个图是排成一行的,一共m行。p表示图所在的位置,p=1表示从左到右从上到下的第一个位置。
[X,Y] = meshgrid(x,y):用于生成网格采样点的函数,输出X的每一行的数值都是复制的x的值,一共size(y)行;输出Y的每一列的数值都是复制的y的值,一共size(x)列。即想象成x轴上取向量x中的点,y轴上取向量y中的点,交叉处的网格点即为所求。
[X1,X2,X3,…] = ndgrid(x1,x2,x3,…):更高维的同meshgrid函数功能的函数,在2-D、3-D绘图时,还有个小差别:
[X,Y,Z] = meshgrid(x,y,z)等效于[Y,X,Z] = ndgrid(y,x,z)
相关文章推荐
- matlab在科学计算中的应用3
- 可视化科学计算Matlab语言的简单应用
- 取代matlab, Linux下科学计算环境的搭建
- 科学计算:Python VS. MATLAB (1)----给我一个理由先
- VC++与MATLAB混合编程及其应用 通过引擎(Engine),采用客户机服务器的计算模式
- 利用MATLAB计算SPWM脉冲宽度与并应用STM32输出
- 读书笔记_科学计算与企业级应用的并行优化
- 【转载】用于科学计算的Python库-代替Matlab
- 利用MATLAB计算SPWM脉冲宽度与并应用STM32输出
- 科学计算与可视化之二(Matlab C/C++函数库)
- Matlab电路原理应用——计算未知电阻
- python科学计算_numpy_简单的多项式应用
- 科学计算:Python VS. MATLAB (1)----给我一个理由先
- 用于科学计算的Python库-代替Matlab
- 科学计算:Python VS. MATLAB(4)----图形系统简介
- 科学计算:Python VS. MATLAB(4)----图形系统简介
- 科学计算 | Matlab 使用 GPU 并行计算
- 动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题
- MATLAB2015分布式计算服务系统安装与应用