matlab第四章课件
- 格式:ppt
- 大小:673.50 KB
- 文档页数:40


第四章
2.求方程xln(+x)--0.5x=0的正根;
fun=inline('x*log(sqrt(x^2-1)+x)-sqrt(x^2-1)-0.5*x');
fzero(fun,2)
答:所求正根为2.1155。
8.作出下列函数图形,观察所有局部极大,局部极小和全局最大,全局最小值点的粗略位置,并用MATLB函数fminbnd和fminsearch求各极值点的确切位置。
(1)f(x)=x2sin(x2-x-2); [-2,2]
(2) f(x)=3x5-20x3+10; [-3,3]
(3) f(x)= ; [0,3]
解:(1)clear;
fun=inline('x.^2.*sin(x.^2-x-2)');
fplot(fun,[-2 2]);grid on;
x(1)=-2;
x(3)=fminbnd(fun,-1,-0.5);
x(5)=fminbnd(fun,1,2);
fun2=inline('-x.^2.*sin(x.^2-x-2)');
x(2)=fminbnd(fun2,-2,-1);
x(4)=fminbnd(fun2,-0.5,0.5);
x(6)=2
feval(fun,x)
(2)clear;
fun=inline('3*x.^5-20*x.^3+10');
fplot(fun,[-3 3]);grid on;
x(1)=-3;
x(3)=fminsearch(fun,2.5);
fun2=inline('-(3*x.^5-20*x.^3+10)');
x(2)=fminsearch(fun2,-2.5);
x(4)=3;
feval(fun,x)
(3)fun=inline('abs(x^3-x^2-x-2)');
fplot(fun,[0 3]);grid on;
fminbnd(fun,1.5,2.5)
fun2=inline('-abs(x^3-x^2-x-2)');
第三章
1.要求在闭区间]2,0[上产生具有10个等距采样点的一维数组。试用两种不同的指令实
现。
方法一t1=linspace(0,2*pi,10)
t1=00.69811.39632.09442.79253.49074.18884.88695.58516.2832
方法二t2=0:2*pi/9:2*pi
结果与t1相同
2.由指令rand('state',0),A=rand(3,5)生成二维数组A,试求该数组中所有大于0.5的元素
的位置,分别求出它们的“全下标”和“单下标”。rand('state',0),A=rand(3,5)
[ri,cj]=find(A>0.5);
id=sub2ind(size(A),ri,cj);
ri=ri';
cj=cj';
disp('')
disp('大于0.5的元素的全下标')
disp(['行号',int2str(ri)])
disp(['列号',int2str(cj)])
disp('')
disp('大于0.5的元素的单下标')
disp(id')
A=
0.95010.48600.45650.44470.9218
0.23110.89130.01850.61540.7382
0.60680.76210.82140.79190.1763
大于0.5的元素的全下标
行号132332312
列号112234455
大于0.5的元素的单下标13569111213143.已知矩阵4321A,运行指令B1=A.^(0.5),B2=A^(0.5),可以观察到不同运算方法
所得结果不同。(1)请分别写出根据B1,B2恢复原矩阵A的程序。(2)用指令检验
所得的两个恢复矩阵是否相等。A=[1,2;3,4];
B1=A.^0.5
B2=A^0.5
A1=B1.*B1;
A2=B2*B2;
norm(A1-A2,'fro')
B1=
1.00001.4142
1.73212.0000
B2=
0.5537+0.4644i0.8070-0.2124i
matlab第四章作业
4.2编写函数文件求半径为r的圆的面积和周长
步骤:1.首先建立函数文件,命名为Abb.m程序如下:
function [s,c]=Abb(r)
s=pi*r*r;%求圆的面积
c=2*pi*r;%求圆的周长
end
在工作空间中调用Abb求圆的面积和周长(将半径设为3)
程序结果如下
[s c]=Abb(3)
s =
28.2743
c =
18.8496
4.3已知y=22221312111n。当n=100时,求y的值
步骤:建立函数,命名为Cbb.m求平方倒数的和。其程序如下
function F=Cbb(n)
F=0;k=1;
while k<=n
F=F+(1/k)/k;
k=k+1;
end
end
在工作空间中求y值
y= Cbb(100)
y=
1.6350
4.5编制程序,计算1+2++n<2000时的最大n值
步骤:建立函数文件Dbb.m,求累加和小于n的最大数,使n=2000程序如下
function k=Dbb(n)
k=1;
f=0;
while f
f=f+k;
k=k+1;
end k=k-2;
end
将2000作为输入值,求n.在工作空间中输入如下:
Dbb(2000)
ans =
62
4.6分别用for和while循环结构编写程序,求出K=6302ii
分别用for和while循环结构编写命令文件Ebb,Fbb.并在工作空间中求K
Ebb程序如下
f=1;
J(1)=1;
for i=1:63
J(i+1)=J(i)*2;
f=f+J(i+1);
End
求K程序:
Ebb.m
f
f =
1.8447e+019
Fbb程序如下
I=1;
H=1;
i=1;
while i<=63
H=H*2;
I=I+H;
江苏工业学院教案
第 4 次课 3 学时 授课时间 2006-3-15 教案完成时间 2006-2-1
课题(章节) 第二章 基本语法(3)
教学目的与要求:
掌握MATLAB编程中的逻辑判断及流程控制语句使用方法;
掌握MATLAB基本绘图方法。
教学重点、难点:
MATLAB与其它语言的逻辑判断、流程控制的区别;
MATLAB强大的绘图功能使用方法。
以上2点是本次授课的重点,相应也是难点,特别绘图功能的使用。
教学方法及师生互动设计:
利用多媒体教室的优点,采用边理论教学,边上机实验的方法。
当堂提问,并与学生适时交流。
课堂练习、作业:
作业:
1 复习课堂内容;
2 用逻辑判断语句和流程控制语句编写程序,作为上机实验内容。
3 将题2结果用绘图语句画出图形。
本次课教学内容小结:
完成本教案内容。
第 4 页 江苏工业学院教案
教 学 内 容 (讲稿) 备注
(包括:教学手段、时间分配、临时更改等)
2.4 逻辑判断及流程控制
2.4.1 关系运算
所谓关系运算是揸两个元素之间数值的比较,一共有表2-8所示的6种可能。
表2-8 关系运算
< <= > >= == ~=
小于 小于等于 大于 大于等于 等于 不等于
关系运算的结果只有两种可能,即0或1。0表示该关系式为“假”,即它不成立;1表示该关系式为“真”,即该关系式是正确的。例如,键入关系式:
a=2+2==4
得 a=1
注意,前面的单个等号表示赋值,后面的双等号则表示关系运算。式中2+2==4是关系运算,它的优先级高,要先算,算出的结果给a赋值,为了改善可读性,最好加上括号,写成a=(2+2==4),表明是把括号内的关系式的结果给a赋值。
MATLAB中的关系运算都适用于矩阵,它是对矩阵的各个元素进行元素群运算,因此两个相比较的矩阵必须有相同的阶数,输出的结果也是同阶矩阵。例如