第 1 章 仿真软件——MATLAB
1-1 对于矩阵 A=[1 2;3 4] ,MATLAB 以下四条命令:
A.^(0.5) ;A^(0.5) ;sqrt(A) ;sqrtm(A)
所得结果相同吗?它们中哪个结果是复数矩阵,为什么?
答:
A.^(0.5)=[1.0000 1.4142;1.7321 2.0000] ;
A^(0.5)= [0.5537 + 0.4644i 0.8070 - 0.2124i;1.2104 - 0.3186i 1.7641 + 0.1458i] ;
sqrt(A)= [1.0000 1.4142;1.7321 2.0000] ;
sqrtm(A) = [0.5537 + 0.4644i 0.8070 - 0.2124i;1.2104 - 0.3186i 1.7641 + 0.1458i] ;
其中,“A.^(0.5) ”表示向量的乘方,“A^(0.5) ”表示矩阵的乘方,“sqrt(A) ”只定
义在矩阵的单个元素上,即分别对矩阵的每个元素进行运算, “sqrtm(A) ”表示对矩阵
(方阵)的超越函数进行运算。
1-4 求二元函数方程组: sin(x -y)=0,cos(x+y)=0 的解。
答:
>>[x,y]=solve('sin(x -y)=0','cos(x+y)=0','x','y')
x =
-1/4*pi
1/4*pi
-1/4*pi
1/4*pi
1-5 求函数 y(t)=exp( -t)*|sin[cost]| 的最大值( 0<=t<inf )。
答:
>>f='( -1)*exp( -(abs(x)))*abs(sin(cos(abs(x))))';
>>x=fminsearch(f,0),ymax=exp( -(abs(x)))*abs(sin(cos(abs(x))))
x =
0
ymax =
0.8415
1-6 设 D2y -3Dy+2y=x,y(0)=1,Dy(0)=0 ,求 y(0.5) 的值。
答:
>> f='D2y -3*Dy+2*y=x';g=dsolve(f,'y(0)=1,Dy(0)=0','x');x=0.5;y=eval(g)
y =
0.6100
1-7 求方程 cos(t)^2*exp( -0.1t)=0.5t 的解。
答:
>>t1=solve('cos(t)^2*exp( -0.1*t)=0.5*t','t');t=eval(t1)
3
y =