在MATLAB帮助文件中查找有关title的使用方法.docx

上传人:b****4 文档编号:4064103 上传时间:2022-11-27 格式:DOCX 页数:16 大小:369.72KB
下载 相关 举报
在MATLAB帮助文件中查找有关title的使用方法.docx_第1页
第1页 / 共16页
在MATLAB帮助文件中查找有关title的使用方法.docx_第2页
第2页 / 共16页
在MATLAB帮助文件中查找有关title的使用方法.docx_第3页
第3页 / 共16页
在MATLAB帮助文件中查找有关title的使用方法.docx_第4页
第4页 / 共16页
在MATLAB帮助文件中查找有关title的使用方法.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

在MATLAB帮助文件中查找有关title的使用方法.docx

《在MATLAB帮助文件中查找有关title的使用方法.docx》由会员分享,可在线阅读,更多相关《在MATLAB帮助文件中查找有关title的使用方法.docx(16页珍藏版)》请在冰豆网上搜索。

在MATLAB帮助文件中查找有关title的使用方法.docx

在MATLAB帮助文件中查找有关title的使用方法

在MATLAB帮助文件中查找有关title的使用方法,并为y1对应的图形添加标题y1=sin(t);为y2对应图形添加标题y2=e-atcos(3t),其中a根据输入显示具体值(使用num2str函数)。

请写出有关指令。

t=0:

pi/20:

4*pi;

y1=sin(t);

a=input('Ë¥¼õa=');

y2=exp(-a*t).*cos(3*t)

plot(t,y1,'r','LineWidth',2),axis([0,4*pi,-2,2]);

xlabel('t'),ylabel('y');

title('y1=sin(t)')

figure();

plot(t,y2,'r','LineWidth',2);axis([0,4*pi,-2,2]);

xlabel('t'),ylabel('y');

title(['y2=','e^{-',num2str(a),'t}','cos(3t)'])

1.要求在闭区间[0,2Π]上产生具有10个等距采样点的一维数组,分别使用冒号生成法和定点生成法。

x=0:

2*pi/(10-1):

2*pi;

y=linspace(0,2*pi,10);

2.运行clear,rand('state',1),A=rand(10,10)

1)记录A(8)的结果,进行分析。

2)提取A矩阵中位于第5列的所有元素构成的矩阵B,提取A矩阵中位于第2到6行且位于第3到7列的子矩阵D。

提取A矩阵中位于第1,3,6行且位于第2,4,6行的子矩阵E。

3)将E矩阵按行从上到下的次序首位相接生成“一维长行”数组。

clear,rand('state',1);A=rand(10,10);

A(8)

B=A(:

5)

D=A(2:

6,3:

7)

E=A([1,3,6],[2,4,6])

E1=E';E2=E1(:

)'

3.在时间区间[0,10]中,绘制

曲线,要求采用数组运算法编写程序绘图。

t=0:

0.1:

10;

y=1-exp(-0.5*t).*cos(2*t);

plot(t,y)

xlabel('t');

ylabel('y(t)');

4.用间距为0.1的水平线和垂直线均匀分割

的矩形域,在所有水平线和垂直线交点上计算函数

,并图示。

要求采用向量化编程。

x=-5:

0.1:

5;y=-2.5:

0.1:

2.5;

[X,Y]=meshgrid(x,y);

Z=sin(abs(X.*Y));

surf(X,Y,Z);

shadinginterp;

xlabel('x');ylabel('y');zlabel('z');

1.运行clear,rand('state',1),A=rand(3,3)

1)编写指令,获得一个对角矩阵B,其相应元素由A的对角元素构成

2)编写指令,获得一个矩阵C,其对角元素全部为零,其余元素与A对应元素相同。

(使用diag函数)

clear,rand('state',1),A=rand(3,3);

B=diag(diag(A))

C=A.*(~eye(3))

2.运行clear,rand('state',1),A=rand(3,5)生成二维数组A,编写指令对A矩阵进行以下操作,记录相应的结果。

1)对A矩阵旋转180度,保存为B;

2)将A矩阵排成5行3列,保存为C;

3)将A矩阵删除第2及4列,保存为D;

4)求该数组中所有大于0.5的元素的位置,分别求出它们的“全下标”和“单下标”。

(使用find和sub2ind函数)

clear,rand('state',1),A=rand(3,5);

B=rot90(A,2)

C=reshape(A,5,3)

D=A;

D(:

[24])=[]

[m,n]=find(A>0.5)

L=sub2ind(size(A),m,n)

3.运行以下指令

x=-3*pi:

pi/15:

3*pi;

y=x;

[X,Y]=meshgrid(x,y);warningoff;

Z=sin(X).*sin(Y)./X./Y;

1)记录[X,Y],理解meshgrid函数的意义。

2)继续编写指令求出矩阵Z中有多少个“非数”数据。

3)用指令surf(X,Y,Z);shadinginterp观察所绘图形。

4)写出绘制相应“无裂缝”图形的全部指令,并保存为.m文件。

x=-3*pi:

pi/15:

3*pi;

%x=x+(x==0)*eps;

y=x;

[X,Y]=meshgrid(x,y);warningoff;

Z=sin(X).*sin(Y)./X./Y;

sum(sum(isnan(Z)))

surf(X,Y,Z);shadinginterp

xlabel('x')

ylabel('y')

zlabel('z')

1.给定一个函数

,利用diff及gradient函数近似求

的导函数

,并将函数

和其导函数曲线绘制在一个图中,同时给出两种方法得到的导函数曲线的细节图,并进行对比。

clear;t=0:

0.1:

10;

y=exp(-t.^2);

dif=diff(y)/0.1;

grad=gradient(y)/0.1;

subplot(1,2,1);

plot(t(1:

end-1),dif,t,grad);

legend('dfdt_{diff}','dfdt_{gradient}')

xlabel('t');

subplot(1,2,2);

plot(t(end-10:

end-1),dif(end-9:

end),'.k',t(end-9:

end),grad(end-9:

end),'or')

legend('dfdt_{diff}','dfdt_{gradient}');

xlabel('t');

2.利用sum、trapz、及quad函数求

,其中

与第1题中相同。

记录结果,要求quad的计算结果达到绝对精度为10-9。

观察各函数计算结果之间的差异。

clear;formatlong;

t=0:

0.1:

5;

y=exp(-t.^2);

s1=sum(y)*0.1

s2=trapz(t,y)

quad('exp(-t.^2)',0,5,1e-9)

 

3.利用函数cumsum和cumtrapz求

,其中

与第1题中相同。

将两者计算结果及它们的误差绘制在同一个图中,同时给出误差的细节图。

在以上题目中要求在图中为曲线添加相应的图例,原函数曲线用细线,其他曲线用粗线。

clear;formatlong;

t=0:

0.1:

5;

y=exp(-t.^2);

s1=cumsum(y)*0.1;

s2=cumtrapz(t,y);

subplot(1,2,1);holdon;

plot(t,y)

plot(t,s1,'-k','LineWidth',2);

plot(t,s2,'-r','LineWidth',2);

plot(t,s1-s2,'-g','LineWidth',2);

xlabel('t');

legend('Ôº¯Êý','cumsum»ý·Ö','cumtrapz»ý·Ö','Îó²î');

subplot(1,2,2);

plot(t,s1-s2,'LineWidth',2);

xlabel('t');

axis([0,5,0.04,0.11])

1.设

,求解

绘制

的曲线,绘出

之间关系的相平面图。

给出

的具体数值。

t范围限制在[02.5]。

clear;

t=0:

0.01:

2.5;

y0=[1;1];

[tt,yy]=ode45(@DyDt,t,y0);

plot(tt,yy(:

1));

xlabel('t');ylabel('y');

figure;

plot(yy(:

1),yy(:

2));

xlabel('t');ylabel('dydt');

functionydot=DyDt(t,y)

ydot=[y

(2);-2*y

(1)+3*y

(2)+1];

end

2.求以下方程组的解1)

2)

clear;

A=[1-11/21/2;111-1;11-1/41;-81-11];

b=[01001]';

rank(A)

rank([A,b])

B=A\b;

clear;

A=[-111-1;11-11;1-1/4-11;-8-111];

b=[130.5-3.5]';

rank(A)

rank([A,b])

B=A\b;

C=null(A);

A*(rand

(1)*C+B)

b

1.求函数

在区间[-5,5]中的最小值点。

clear;

t=-5:

0.1:

5;

f=(sin(5*t)).^2.*exp(0.06*t.^2)-1.5*t.*cos(2*t)+1.8*(abs(t+0.5));

plot(t,f)

f1=@(t)((sin(5*t)).^2.*exp(0.06*t.^2)-1.5*t.*cos(2*t)+1.8*(abs(t+0.5)));

[sx,sfval,sexit,soutput]=fminbnd(f1,-5,5)

2.求

的实数解。

clear;

t=-5:

0.1:

5;

f=-0.5+t-10*exp(-0.2*t).*abs(sin(sin(t)));

plot(t,f)

f1=@(t)(-0.5+t-10*exp(-0.2*t).*abs(sin(sin(t))));

%[x,fval]=fsolve(f1,1)%ûÓÐÕÒµ½

[x,fval]=fsolve(f1,2)%ÕÒµ½

3.使用字符串、内联对象、匿名函数或函数文件的句柄四种方式求二元函数方程组

的数值解clearall

x0=[0.50.5]

[x,fval]=fsolve('[sin(x

(1)-x

(2)),cos(x

(1)+x

(2))]',x0)

f=inline('[sin(x

(1)-x

(2)),cos(x

(1)+x

(2))]');

[x,fval]=fsolve(f,x0)

f=@(x)([sin(x

(1)-x

(2)),cos(x

(1)+x

(2))]);

[x,fval]=fsolve(f,x0)

[x,fval]=fsolve(@myfun,x0)

functionf=myfun(x)

f=[sin(x

(1)-x

(2)),cos(x

(1)+x

(2))];

 

1.假定某窑工艺瓷器的烧制成品合格率为0.157,现用该窑烧制100件瓷器,请画出合格产品数的概率分布曲线。

clear;

N=100;p=0.157;

k=0:

N;

pdf=binopdf(k,N,p);

plot(k,pdf,'.-k');

xlabel('k')

ylabel('P')

2.产生均值为4,标准差为2的(10000*1)正态分布随机数组a,分别用hist和histfit绘制该数组的频数直方图,观察两张图的差异。

除histfit上的拟合红线外,如何使这两个指令绘出相同的频率直方图。

clear;

N=10000;Mu=4;Sigma=2;

%x=randn(N,1)

%y=Mu+Sigma*x;

y=normrnd(Mu,Sigma,1,N);

figure();

hist(y,100);

xlabel('x')

ylabel('P')

figure();

histfit(y);

xlabel('x')

ylabel('P')

3.根据文件prob_data418.mat的数据,求出这组数据的5阶拟合多项式。

根据求得的多项式函数计算y值,并与实测y值比较,统计两者之间误差的均值及方差。

s=importdata('prob_data418.mat')

x=s.x;

y=s.y;

P=polyfit(x,y,5)

yy=polyval(P,x);

plot(x,y,'.r',x,yy,'k')

xlabel('x')

ylabel('y')

err=abs(y-yy);

em=mean(err)

ev=var(err)

4.有理分式

,其中

,求该分式的商多项式

和余多项式

N=conv([3010],[1000.5]);D=conv([12-1],[5201]);

[Qr]=deconv(N,D)

1.已知函数

,其中

试在同一张图上绘出

不同取值时的各条曲线,时间区间为

要求

的各条曲线用蓝色,

的用红色,

的用黑色,且线较粗。

的两条曲线添加text标志。

如图所示。

clear;

t=0:

0.01:

18;

figure

(1);holdon;

forz=0.2:

0.2:

1.4

b=sqrt(abs(1-z^2));

if(z<1)&(z>=0)

y=1/b*exp(-z*t).*sin(b*t);

plot(t,y,'-b');

elseifz>1

y=1/2/b*(exp(-(z-b)*t)-exp(-(z+b)*t));

plot(t,y,'-r');

elseifz==1

y=t.*exp(-t);

plot(t,y,'k','LineWidth',3);

end

end

text(2.5,0.6,'\zeta=0.2')

text(0.5,0.15,'\zeta=1.4')

text(10,0.7,'\Delta\zeta=0.2')

gridon;

boxon;

axis([018-0.40.8])

xlabel('x')

ylabel('y')

2.使用极坐标绘图指令polar绘制表达式

对应的心形图,如图所示。

the=0:

pi/100:

2*pi;

P=1-cos(the);

h=polar(the,P);%·µ»ØÏߵľä±ú

set(h,'LineWidth',3)

title('P=1-cos(\theta)')

 

3.使用双纵坐标在同一张图上绘出函数

及其积分

,要求标注横、纵坐标,两条曲线均使用plot绘图指令,曲线宽度为3号。

x=0:

0.1:

4;

y=x.*sin(x);

s=cumtrapz(x,y);

[AX,H1,H2]=plotyy(x,y,x,s)%AX×ø±êÖáµÄ¾ä±ú£¬H1ºÍH2Á½¸ö»æͼָÁîµÄͼÐζÔÏóµÄ¾ä±ú

set(get(AX

(1),'Ylabel'),'String','\fontsize{14}y(x)=xsinx');

%set(AX

(1),'FontSize',20,'FontAngle','italic');

set(get(AX

(2),'Ylabel'),'String','\fontsize{14}\int_0^xy(t)dt');

xlabel('x');

set(H1,'LineWidth',3)

set(H2,'LineWidth',3)

gridon;

1.绘制

的三维曲线如图所示。

要求曲线为绿色实线,坐标轴字体为斜体,字体大小适当。

t=0:

pi/100:

4*pi;

x=sin(t);

y=cos(t);

z=t;

plot3(x,y,z,'g','LineWidth',3);

%h=get(gcf,'CurrentAxes')

set(gca,'FontSize',14,'FontAngle','italic')

boxon;

xlabel('\fontsize{24}x')

ylabel('\fontsize{24}y')

zlabel('\fontsize{24}z')

 

2.在区域

,绘制

的三维(透视)网格曲面,如图所示。

要求,透明度设置为0.5,坐标轴范围与图示一致。

x=-3:

0.1:

3;

y=x;

[X,Y]=meshgrid(x,y);

Z=4*X.*exp(-X.^2-Y.^2);

surfc(X,Y,Z);

colormap(cool);

boxon;

%xlim([-33]);

%ylim([-33])

axis([-33-33-22]);

set(gca,'FontSize',14,'FontAngle','italic','XTick',-3:

3);%×ÖÌåÉèÖöԺóÃæµÄlabelÆð×÷ÓÃ

xlabel('x');

ylabel('y');

zlabel('z')

alpha(0.5)

1.创建一个名为showfig的函数文件,该函数文件根据输入宗量不同情况显示出不同的图形。

其中绘图部分由函数文件中定义的子函数figplot完成。

具体要求为:

没有输入量时,画出单位圆;输入量为大于2的自然数N时,绘制正N边形,图名反映多边形的边数;输入量是“非自然数”时,提示“输入输错,请出入一个自然数”。

在命令窗口运行showfig函数,其中参量自行设定,给出运行结果。

2.showfig;

figure;showfig(3);

figure;showfig(6);

figure;showfig(3.5);

functionshowfig(N)

switchnargin

case0

flag=0;

figplot(flag);

case1

if(N>2)&(floor(N)==N)

flag=1;figplot(flag,N);

else

error('输入出错');

end

otherwise

end

functionfigplot(flag,N)

ifflag==0

N=100;

end;

theta=pi/2:

2*pi/N:

5/2*pi;

x=cos(theta);

y=sin(theta);

plot(x,y,'k','LineWidth',3);

axisoff;axisequal;

 

3.用指令fminbnd求

附近的最小值。

要求分别写出fminbnd的第一个输入量使用字符串及匿名函数的的相关程序,观察两种方式所得结果是否一致。

4.x=-3:

0.01:

3;

5.y=-exp(-x).*abs(sin(cos(x)));

6.plot(x,y);

7.[xn0,fval,exitflag,output]=fminbnd('-exp(-x)*abs(sin(cos(x)))',-1.5,-0.5)

8.y1=@(x)(-exp(-x)*abs(sin(cos(x))))

9.[xn0,fval]=fminbnd(y1,-1.5,-0.5)

10.%y1=inline('-exp(-x)*abs(sin(cos(x)))')

11.%[xn0,fval]=fminbnd(y1,-1.5,-0.5)

12.

3.在matlab的\toolbox\matlab\elmat\private文件夹下有一个“烟圈矩阵”发生函数smoke.m。

运行指令smoke(3,0),将生成一个三阶伪特征根矩阵:

当前目录为E:

\班级,它与“烟圈矩阵”所在路径不同,请问如何利用函数句柄调用smoke.m函数,产生3阶伪特征根矩阵。

写出相应的程序及操作步骤。

输入指令如下:

smoke(3,0,'double')

SM=@smoke;

A=SM(3,0,'double')

步骤:

(1)设置当前目录为:

\toolbox\matlab\elmat\private

(2)输入smoke(3,0,'double')获得结果,再输入SM=@smoke;创建smoke.的函数句柄

(3)回到当前目录;E:

\班级.输入A=SM(3,0,'double')即可

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 广告传媒

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1