Matlab基础与应用教程答案人民邮电出版社Word文件下载.docx
《Matlab基础与应用教程答案人民邮电出版社Word文件下载.docx》由会员分享,可在线阅读,更多相关《Matlab基础与应用教程答案人民邮电出版社Word文件下载.docx(31页珍藏版)》请在冰豆网上搜索。
-5.88455.3549-0.2028
6.3554-5.65964.3293
-6.63256.20789.0241
B/A
30.285519.2643-8.5614
33.439421.1547-9.3974
-0.7443-0.39380.2830
(4)[A,B]
35421-267
34-4572874
879015930
[A([1,3],:
);
B^2]
3542
879015
600183-81
684282726
156825
5.a=1+2i;
b=3+4i;
c=exp(pi*i/6)
c=
0.8660+0.5000i
c+a*b/(a+b)
1.6353+1.8462i
第2章
3.s=0;
forn=0:
63
s=s+2^n;
end
disp(s)
n=0:
63;
s=sum(2.^n)
1.
x=input('
输入一个四位整数:
'
y=[fix(x/1000),mod(fix(x/100),10),mod(fix(x/10),10),mod(x,10)]
z=mod((y+7),10)
x=z(3)*1000+z(4)*100+z
(1)*10+z
(2)
2.
gh=input('
输入工号'
h=input('
输入工时'
dj=84;
ifh>
120
gz=dj*120+1.15*dj*(h-120);
elseifh<
60
gz=dj*h-700;
else
gz=dj*h;
formatbank;
display([gh,gz])
3.
循环结构
n=input('
inputn:
s=0;
fork=1:
n
s=s+1/k^2;
display(sqrt(s*6))
向量运算
k=1:
n;
display(sqrt(sum(1./k.^2)*6))
4.
y=0;
k=0;
whiley<
3
k=k+1;
y=y+1/(2*k-1);
display([k-1,y-1/(2*k-1)])
5.
x0=0;
x=1;
a=input('
a='
b=input('
b='
whileabs(x-x0)>
=1e-5&
&
k<
500
x0=x;
x=a/(b+x0);
display([k,x]);
display([(-b+sqrt(b^2+4*a))/2,(-b-sqrt(b^2+4*a))/2]);
6.
y=fun(40)/(fun(30)+fun(20))
(1)函数文件fun.m
functionf=fun(n)
f=n+log(n^2+5);
(2)函数文件fun.m
a=1:
f=sum(a.*(a+1));
第3章
4.
t=0:
0.01:
1.5;
y=sqrt(3)/2*exp(-4*t).*sin(4*sqrt(3)*t+pi/3);
x=-10:
10;
y=linspace(-6,6,size(x,2))
z=x.^3+3*x.*y.^2;
plot3(x,y,z)
6.
x=100:
100:
400;
y=100:
z=[636,697,624,478;
698,712,630,478;
680,674,598,412;
662,626,552,334];
[X,Y]=meshgrid(x,y);
mesh(X,Y,z)
1.
(1)x=-10:
plot(x,x-x.^3/3/2)
(2)plot(x,exp(-x.*x/2)/2/pi)
(3)x=-8:
8;
plot(x,sqrt((64-x.*x)/2))
(4)t=0:
pi/100:
6*pi;
plot(t.*sin(t),t.*cos(t))
2.
(1)
x1=linspace(0,1,100);
y1=2*x1-0.5;
t=linspace(0,pi,100);
x=sin(3*t).*cos(t);
y=sin(3*t).*sin(t);
plot(x1,y1,'
r-'
x,y,'
b:
text(0.4,1,'
y=2x-0.5'
text(-0.4,0.5,'
x=sin(3t)cos(t)'
text(-0.4,0.3,'
y=sin(3t)sin(t)'
(2)
subplot(1,2,1);
scatter(x1,y1,10)
title('
subplot(1,2,2);
scatter(x,y,10)
subplot(1,21);
x=1:
1:
100;
y=sin(1./x);
plot(x,y)
fplot('
sin(1/x)'
[1,100])
subplot(2,2,1);
bar(t,y);
subplot(2,2,2);
stairs(t,y);
subplot(2,2,3);
stem(t,y)
subplot(2,2,4);
semilogy(t,y);
theta=linspace(-pi,pi,100);
ro=5.*cos(theta)+4;
polar(theta,ro);
fi=linspace(0,2*pi,100);
a=1
r=a.*(1+cos(fi));
polar(fi,r);
pi/20:
2*pi;
x=exp(-t./20).*cos(t);
y=exp(-t./20).*sin(t);
z=t;
plot3(x,y,z);
1;
x=t;
y=t.^2;
z=t.^3;
7.
x=-30:
0;
y=0:
30;
[x,y]=meshgrid(x,y);
z=10.*sin(sqrt(x.^2+y.^2))./sqrt(1+x.^2+y.^2);
meshc(x,y,z);
8.
x=linspace(-3,3,100);
y=linspace(-3,3,100);
[xy]=meshgrid(x,y);
fxy=-5./(1+x.^2+y.^2);
i=find(abs(x)<
=0.8&
abs(y)<
=0.5);
fxy(i)=NaN;
surf(x,y,fxy)
9.
u=linspace(1,10,100);
v=linspace(-pi,pi,100);
[u,v]=meshgrid(u,v);
x=3.*u.*sin(v);
y=2.*u.*cos(v);
z=4*u.^2;
x=3*u.*sin(v);
y=2*u.*cos(v);
surf(x,y,z);
shadinginterp;
light('
position'
[1,0,1]);
10.
y=sin(t);
comet(t,y)
第4章
5.
(1)A=eye(3);
(2)C=100+(200-100)*rand(5,6);
(3)D=1+sqrt(0.2)*randn(1,500);
(4)E=ones(size(A));
(5)A=A+30*eye(size(A));
(6)B=diag(diag(A))
P=pascal(5);
H=hilb(5);
Dp=det(P);
Dh=det(H);
Kp=cond(P);
Kh=cond(H);
P矩阵的性能更好,因为Kp较小
2.
A=[1,-1,2,3;
0,9,3,3;
7,-5,0,2;
23,6,8,3]
B=[3,pi/2,45;
32,-76,sqrt(37);
5,72,4.5e-4;
exp
(2),0,97]
A1=diag(A);
B1=diag(B);
A2=triu(A);
B2=triu(B);
A3=tril(A);
B3=tril(B);
rA=rank(A);
rB=rank(B);
nA=norm(A);
nb=norm(B);
cA=cond(A);
cB=cond(B);
A=[31,1,0;
-4,-1,0;
4,-8,-2];
[V,D]=eig(A);
A=diag([-1,-1,-1,-1],-1)+diag([-1,-1,-1,-1],1)+diag([2,2,2,2,2])
b=[1,0,0,0,0]'
;
x1=inv(A)*b;
x2=A\b;
[L,U]=lu(A);
x3=U\(L\b);
[Q,R]=qr(a);
[Q,R]=qr(A);
x4=R\(Q\b)
R=chol(A);
x5=R\(R'
\b)
B=sparse(A);
x1=inv(B)*b;
x2=B\b;
[L,U]=lu(B);
第5章
3.
A=randn(10,5);
mean(A)
std(A)
max(max(A))
min(min(A))
sum(A,2)
sum(sum(A))
sort(A,1)
sort(A,2,'
descend'
A=rand(1,30000);
max(A)
min(A)
size(find(A>
0.5))/size(A)
h=[466,715,950,1422,1635];
w=[7.04,4.28,3.40,2.52,2.13];
hh=[500,900,1500];
ww=interp1(h,w,hh,'
spline'
x=linspace(1,10,50);
y=log(x);
f=polyfit(x,y,5);
yy=polyval(f,x);
plot(x,y,'
x,yy,'
g.'
N=64;
%采样点数
T=5;
%采样时间终点
t=linspace(0,T,N);
%给出N个采样时间ti(I=1:
N)
x=3*exp(-t);
%求各采样点样本值x
dt=t
(2)-t
(1);
%采样周期
f=1/dt;
%采样频率(Hz)
X=fft(x);
%计算x的快速傅立叶变换X
F=X(1:
N/2+1);
%F(k)=X(k)(k=1:
N/2+1)
f=f*(0:
N/2)/N;
%使频率轴f从零开始
plot(f,abs(F),'
-*'
)%绘制振幅-频率图
xlabel('
Frequency'
ylabel('
|F(k)|'
(1)p1=[12007];
p2=[1-2];
p3=[10051];
p12=conv(p1,p2);
p=p12+[zeros(1,size(p12,2)-size(p3,2)),p3];
roots(p)
(2)A=[-1,4,3;
2,1,5;
0,5,6];
Px=polyval(p,A)
Pxm=polyvalm(p,A)
(1)z=fzero('
3*x-sin(x)+1'
0)
(2)建立函数文件myfun.m
functionF=myfun(X)
x=X
(1);
y=X
(2);
F
(1)=x*x+y*y-9;
F
(2)=x+y-1;
在命令窗口中输入以下命令:
x=fsolve(@myfun,[3,0]'
optimset('
Display'
'
off'
))
第6章
fx=inline('
1./(1+x.^2)'
[I,n]=quad(fx,-100000,100000,1e-3);
[I,n]=quadl(fx,-100000,100000,1e-3);
x=-100000:
100000;
y=1./(1+x.*x);
trapz(x,y);
(1)fx=inline('
-2*y+2*x*x+2*x'
[t,y]=ode23(fx,[0,0.5],1)
(2)fx=inline('
y-exp(x)*cos(x)'
[t,y]=ode23(fx,[0,3],1)
forx=1:
fx=[x,x^2,x^3;
1,2*x,3*x;
0,2,6*x];
diff(fx)
(1)x=0:
y=x.^10+10.^x+1./log10(x);
dy=diff(y)/0.01;
(2)x=0:
y=log(1+x);
dy=diff(y,2)/0.01;
plot(x(1:
99),dy)
(1)fx=inline('
x.^2.*sqrt(2*x.*x+3)'
quad(fx,1,5)
(2)fx=inline('
x./sin(x).^2'
quad(fx,pi/4,pi/3)
(3)fx=inline('
abs(cos(x+y))'
dblquad(fx,0,pi,0,pi)
(4)symsxy;
fx=x*y;
int(int(fx,y^2,y+2),-1,2)
x的积分区间为【0,2】时
x.*y'
dblquad(fx,0,2,-1,2)
x=0.3:
0.2:
y=[0.3895,0.6598,0.9147,1.1611,1.3971,1.6212,1.8325];
trapz(x,y)
(1)
yp=inline('
-(1.2+sin(10*x))*y'
[t,y]=ode23(yp,[0,5],1);
(2)令
,则可写出原方程的状态方程形式:
--->
建立函数文件ztfun.m
functiony=ztfun(t,x)
b=[0;
cos(t)];
y=[0,1,0;
0,0,1;
-1/(3+sin(t)),-1,5*cos(2*t)/(t+1)^2]*x+b;
解微分方程组
[t,y]=ode23(@ztfun,[0,5],[1;
2]);
functionyy=ztfun(t,y)
yy=[y
(2)*y(3);
-y
(1)*y(3);
-0.51*y
(1)*y
(2)];
[t,y]=ode23(@ztfun,[0,5],[0;
1])
第7章
(1)数值积分
exp(x).*(1+exp(x)).^2'
quad(fx,0,log
(2))
符号积分
f=sym('
exp(x)*(1+exp(x))^2'
v=int(f,0,log
(2));
eval(v)
(2)略
A=sym('
[1,2,3;
x,y,z;
3,2,1]'
rank(A)
inv(A)
det(A)
(1)y=sym('
sqrt(x+sqrt(x+sqrt(x)))'
y1=diff(y)
y2=diff(y,'
x'
2)
(2)symsxy;
fxy=sin(x^2*y)*exp(-x^2-y);
diff(diff(fxy,x),y)
(1)symsx
int(1/(1+x^4))
(2)symsxt
int((-2*x*x+1)/(2*x*x-3*x+1)^2,x,cos(t),exp(2*t))
symsnx
symsum(1/(2*n+1)/(2*x+1)^(2*n+1),n,0,inf)
symsum(1/(2*n+1)/(2*x+1)^(2*n+1),n,0,5)
taylor((exp(x)+exp(-x))/2,5,0)
(2)symsax
taylor(exp(-5*x)*sin(3*x+pi/3),5,a)
(1)x=solve(sym('
x^3+a*x+1=0'
(2)[xy]=solve(sym('
sqrt(x^2+y^2)-100=0,3*x+5*y-8=0'
7.方程转化为:
符号解
[y1,y11]=dsolve('
Dy=y1,Dy1+y=1-t^2/pi'
y(-2)=5,y1(-2)=5'
t'
数值解
编写函数文件ztfun.m
yy=[y
(2);
1-t^2/pi-y
(1)];
在命令窗口输入以下命令
[t,y]=ode45(@ztfun,[-2,7],[-5;
5]);
t=linspace(-2,7,49)
y2=y
[x,y]=dsolve('
Dx=3*x+4*y,Dy=-4*x+3*y'
x(0)=0,y(0)=1'
第9章
(1)新建一个BlankGUI。
(2)在窗口上添加一个StaticText、一个EditText,一个PushBotton,两个CheckBox,一组RadioButton。
各控件的属性设置如表9.1所示。
表9.1界面控件属性
控件
属性名
属性值
静态文本框
String
实验一:
编辑框
按钮
设置字体大小
单选按钮1
red
单选按钮2
yellow
单选按钮3
blue
单选按钮4
black
Value
1.0
复选框1
倾斜
复选框2
加粗
(3)在按钮的Callback函数中添加以下代码:
s=eval(get(handles.edit1,'
String'
));
set(handles.text1,'
FontSize'
s);
(4)在复选框1的Callback函数中添加以下代码:
if(get(hObject,'
Value'
)==get(hObject,'
Max'
set(handles.text1,'
FontAngle'
italic'
normal'
在复选框2的Callback函数中添加以下代码:
FontWeight'
bold'
(5)在单选按钮组的SelectionChangeFcn函数中添加以下代码:
ForegroundColor'
get(eventdata.NewValue,'
string'
(2)用菜单编辑器编辑菜单,各菜单项属性如表9.2.
表9.2菜单项属性
菜单项
Label属性值
Tag属性值
Menu
Line
Label
m_line
Help
m_help
LineMenuItem
LineStyle
m_linestyle
LineWidth
m_linewidth
LineColor
mlinecolor
HelpMenuItem
About
m_about
(3)绘图。
在窗口的OpeningFcn函数添加以下代码:
globalh;
6;
h=plot(t.*sin(t),t.*cos(t))
(4)在LineStyle菜单项的Callback函数中添加以下代码:
set(h,'
LineStyle'
-.'
在LineWidth菜单项的Callback函数中添加以下代码:
LineWidth'
2);
在LineColor菜单项的Callback函数中添加以下代码:
color'
red'
在About菜单项的Callback函数中添加以下代码:
msgbox('
HelpItem'
a=2;
b=3;
r=a+b*t;
h_draw=polar(t,r,'
h_menu=uicontextmenu;
%½
¨
Á
¢
¿
ì
½
Ý
²
Ë
µ
¥
Ï
î
uimenu(h_menu,'
Label'
Call'
set(h_draw,'
Col