如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
《数值分析》实验讲义
卜兵
数值分析实验一
Matlab基本操作
1.学习目的
1)熟悉Matlab的运行环境及各种窗口
2)掌握Matlab的矩阵变量类型,矩阵输入和矩阵的基本运算
3)掌握命令及函数文件的作用及区别,并编写简单的M文件
4)能熟练的向查寻目录中添加新目录,掌握常用的Matlab系统命令
5)掌握Matlab的控制语句
6)熟悉数组运算
7)Matlab图形处理功能
8)Matlab程序初步设计
2.学习内容
(1)Matlab启动与环境设置
(2)Matlab基本运算操作
(3)Matlab的文件
例1:编写命令文件demo1完成以下操作
建数组a=[1,2,3,...,20],b=[1,3,5,...,39],并求a,b内积
操作1)主窗口点击新建按钮
2)在弹出的文本编辑窗口添加
a=1:20
b=1:2:39
sum=a*b'
3)单击保存按钮将文件命名为demo1保存在例1新建文件夹中
4)在CommandWindow中输入demo1并回车
(4)数组运算(相同类型的运算)
1)’:’引用
*A(:,n)矩阵A的n列所有元素
>>A=rand(4,5);
>>A(:,3)=(1:4)’%引用的为一列向量
*A(m,:)矩阵A的m行所有元素
>>A(4,:)=2:6
*A(:)矩阵A所有元素
>>A(:)
2)维
*reshape(X,M,N,P,..)将已知矩阵X为M*N*P..矩阵
>>a=1:12;
>>b=reshape(a,2,6)
*用’:’引用
>>a=zeros(3,4);
>>a(:)=1:12%Matlab矩阵元素按列存储
>>a(4)
>>a(1,2)
3)‘.’运算同类型矩阵元素对应元素运算
*“.*”,“./”与”.\’运算
>>a=[123;234;345];
>>b=[111;222;333];
>>a.*b%a,b对应元素相乘
>>a*b%a,b矩阵相乘
>>a.\b%a对应元素做分母
>>a./b%b对应元素做分母
*“.^”与^
>>b=[111;222;333];
>>b^3
>>b.^3
>>b*b*b%等于b^3
例:编写函数文件demo3实现sgn函数功能
操作:1)新建M文件,并编辑如下
functionval=demo3(x)
ifx>0
val=1;
elseifx<0
val=-1;
else
val=0;
end
2)将文件保存在查询目录内
3)>>demo3(0)
>>demo3(90)
>>demo3(-12)
3)递归调用
例:编写函数文件demo4,返回输入整数的阶乘
操作:1)新建M文件,并编辑如下
functionval=demo4(n)
ifn==1|n==0
val=1;
else
val=n*demo3(n-1);%递归
end
或
function[val]=demo3(n)
val=1;
ifn==0
val=1;
else
fori=1:n
val=val*i;
end
end
(6)Matlab图形处理初步
1)二维图形
plot(x,y,s)
例1:
>>x=rand(100,1);
>>y=rand(100,1);
>>z=x+y.*i;
>>plot(y)
>>plot(z);
例2:
>>x=0.1:0.01*pi:pi;
>>y=sin(x).*cos(x);
>>plot(x,y);
注意:当两个输入变量同为向量时,x,y维数相同.x,y为同阶矩阵时将按列或行进行.
例3:
>>x=0.1:0.01*pi:pi;
>>y=[sin(x)',cos(x)'];
>>plot([x'],y)
>>plot([x',x'],y)
>>plot(x',y(:,1),x',y(:,2))
例4:
>>x=0.1:0.1*pi:2*pi;
>>y=sin(x);
>>z=cos(x);
>>plot(x,y,'--k',x,z,'-.rd')
注:s图形设置选项
选项说明选项说明
-实线y黄色
:点线r红色
-.点划线g绿色
..虚线k黑色
o圆号++号
**号d菱形
2)三维图形
*plot3(x,y,z,s)%其中x,y和z为3个相同维数的向量
*plot3(X,Y,Z,s)%其中X,Y和Z为3个相同阶数的矩阵,函
数绘3矩阵的列向量曲线
*plot3(x1,y1,z1,s1,x2,y2,z2,s2,…)
例1:
>>x=0:pi/50:10*pi;
>>y=sin(x);
>>z=cos(x);
>>plot3(x,y,z);
例2:
>>[x,y]=meshgrid(-2:0.1:2,-2:0.1:2);%产生网格点
>>z=x.*exp(-x.^2-y.^