Matlab与计算机仿真.
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
logspace(a,b,n) n个元素的数组
生成
10a ~ 10b
之间对数等分的
特殊矩阵的生成方法 zeros(m,n) ones(m,n) rand(m,n) 取值为0~1 randn(m,n) eye(n,n) mxn的全0矩阵 mxn的全1矩阵 mxn的均匀分布的随机矩阵,
mxn的正态分布的随机矩阵 mxn的单位阵
y=conv(p1,p2) %使用Conv函数求两多项式 的乘积
poly2str(y,’x’) 多项式
y1=polyder(y); poly2str(y1,’x’) 多项式
%以比较习惯的方式显示
%使用polyder函数求导数 %以比较习惯的方式显示
5.2 多项式求值
polyval(p,a) 自变量的值取a
2.3 矩阵的提取
A(r,c) 矩阵A的元素(r,c) A(r,:) 矩阵A的第r行
A(:,c) 矩阵A的第c列
利用逻辑矩阵来提取矩阵 用于:寻找矩阵中大于某个值的元素等类似 的问题 %寻找A中所有大于0.5的元素% B=A>0.5; A(B)
2.4 矩阵元素的更改或删除
A(i,j)=x;
5.1 多项式的四则运算及导数
%exp5_1_1% p1=[1 8 0 0 -10]; % p2=[2 -1 3]; % poly2str(p1,’x’) poly2str(p2,’x’)
x 4 8 x3 10
2 x2 x 3
%以比较习惯的方式显示多项式 %以比较习惯的方式显示多项式
2.1 变量
来自百度文库一般变量
命名规则等和C、C++等高级语言相同,不赘述
特殊变量
变量名 ans pi eps inf NaN i,j realmin realmax
含义 运算结果的默认变量名 圆周率 计算机的最小数 无穷大,如
1 0
非数,如 0 , 0
i j 1
最小的可用正实数 最大的可用正实数
以上变量如未被用户使用,则变量的值 为系统的预定义的值
如果用户对上表中的变量进行了重新赋 值,则变量的值被临时覆盖,可通过cle ar命令消除用户自定义的变量的值
2.2 数组的创建
直接输入
A=[1 2 3; 4 5 6; 7 8 9];
语句生成
from:step:to 格式生成固定步长的数组 linspace(a,b,n) 的数组 生成a~b间的线性分布的n个素
介绍两个常用于调试程序的函数
size(A) isempty(A)
测算矩阵的大小 ,返回[m n] 判断矩阵是否为空,是则为1
3.2 用图形方式查看稀疏矩阵的信息
%exp3_2_1% A=[] A=sprandsym(200,0.03)+100*speye(200,200); %生成系数矩阵
spy(A); %画出稀疏矩阵A中的非零元素分布图
大多数核心文件和工具箱文件都是开放的, 容许用户接触大多数文件的源代码 可以更改现有函数库中的函数 甚至可以加入自己的函数使Matlab成为使 用者所需要的编程环境
1.5 丰富的程式工具箱
这些工具箱提 供了使用者在特别应用领 域所需之许多函数。现有工具箱有:符号运 算(利用Maple V的计算核心执行 )、影像 处理、统计分析、信号处理、神经网络、模 拟分析、控制系统、即时控制、系统确认、 强建控制、弧线分析、最佳化、模糊逻辑、 mu分析及合成、化学计量分析。
1.2 先进的资料视觉化功能
强有力的二维、三维图形工具 物件导向图形架构让使用者可以执行视觉 数据分析,并制作高品质的图形
1.3 高阶但简单的程序环境
作为一种直译式程序语言,编程所花时间 约为FORTRAN或C的几分之一 不需要编译、连接即能执行 包含了丰富、易用的内建功能
1.4 开放及可延伸的架构
method是插值函数的类型,允许的取值有linear(线 性插值)、nearest(用最接近的相邻点插值)、cu bic(三次插值)、spline(三次样条插值)
%以p为系数的多项式,将
a 可以是一个数,也可以是矩阵,当其为矩阵时 相当于取a 中的每一个元素,结果是一个矩阵
多项式求根
roots()
部分分式展开 residue()
多项式的微分积分
5.2 数据插值
5.2.1一维数据插值
Y1=interp1(X,Y,X1,’method’)
根据X,Y的值,计算出在X1处的值,并返回 给Y1,其中X,Y是两个等长的已知向量,分 别描述采样点和样本值,X1描述欲插值的 点,返回值Y1是与X1等长的插值结果。
Matlab与计算机仿真
数学建模教练组助管 计算机52班 唐佩佳
Matlab 介绍
60mins
计算机 仿真
20mins
自由提 问
Xmins
用法简单
适用范围广 程序结构强
具有开放性和延展性
1.1 数值运算能力强
500多种数学、统计、科学及工程方面的 函数 标识自然,使问题和解答像数学算式一样 简单明了 用户可以将精力用于解题方面,而不是浪 费在语言操作上
结构数组是一种非常有用的数据结构,尤其是在 解决复杂问题时可以很大程度上提高算法效率。
结构数组实质上类似与C、C++中的结构体
结构数组
结构体
%exp4_1_1%
player.name=‘Nike’; %创建name并赋值 player.nation=‘China’; %创建nation并赋值 player.att=[20 17 19 20]; %创建nation并赋值
A(:,3)=[];
%将矩阵A中的(i,j)的值改为x
%删除矩阵A中的第3列
2.5 矩阵的特殊操作
triu(x) tril(x)
产生X的上三角矩阵 产生X的下三角矩阵
3.1 矩阵之间的关系运算
C1=A==B 不同则为0
判断A,B是否相同,同则为1,
C1=A>=B 判断A是否大于等于B,是则 为1,不是则为0
%exp3_2_2% A=[]; A=sprandsym(200,0.03)+100*speye(200,200); p=[]; p=symamd(A); %计算矩阵A的对称 spy(A(p,p)); %画出排序后A中非零元素的分布图
字符数组(字符串)可以被很简单的创建,类型转 换,比较,查找,替换等。 且操作比C、C++简单。但在建模中较少运用,在此 不赘述。