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

上传人:b****4 文档编号:16980131 上传时间: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

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

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

clear,rand('

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]中,绘制

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

0.1:

10;

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

plot(t,y)

ylabel('

y(t)'

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

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

,并图示。

要求采用向量化编程。

x=-5:

5;

y=-2.5:

2.5;

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

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

surf(X,Y,Z);

shadinginterp;

x'

zlabel('

z'

1.运行clear,rand('

1),A=rand(3,3)

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

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

(使用diag函数)

1),A=rand(3,3);

B=diag(diag(A))

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

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函数)

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:

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

y=x;

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

sum(sum(isnan(Z)))

shadinginterp

1.给定一个函数

,利用diff及gradient函数近似求

的导函数

,并将函数

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

clear;

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}'

subplot(1,2,2);

plot(t(end-10:

end-1),dif(end-9:

end),'

.k'

t(end-9:

end),grad(end-9:

or'

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

,其中

与第1题中相同。

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

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

formatlong;

s1=sum(y)*0.1

s2=trapz(t,y)

quad('

exp(-t.^2)'

0,5,1e-9)

 

3.利用函数cumsum和cumtrapz求

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

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

s1=cumsum(y)*0.1;

s2=cumtrapz(t,y);

holdon;

plot(t,s1,'

-k'

plot(t,s2,'

-r'

plot(t,s1-s2,'

-g'

Ô

¯

Ê

ý

'

cumsum»

·

Ö

cumtrapz»

Î

ó

²

î

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

1.设

,求解

绘制

的曲线,绘出

之间关系的相平面图。

给出

的具体数值。

t范围限制在[02.5]。

0.01:

y0=[1;

1];

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

plot(tt,yy(:

1));

figure;

plot(yy(:

1),yy(:

2));

dydt'

functionydot=DyDt(t,y)

ydot=[y

(2);

-2*y

(1)+3*y

(2)+1];

end

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

2)

A=[1-11/21/2;

111-1;

11-1/41;

-81-11];

b=[01001]'

rank(A)

rank([A,b])

B=A\b;

A=[-111-1;

11-11;

1-1/4-11;

-8-111];

b=[130.5-3.5]'

C=null(A);

A*(rand

(1)*C+B)

b

1.求函数

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

t=-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.求

的实数解。

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

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('

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

f=@(x)([sin(x

(1)-x

(2)),cos(x

(1)+x

(2))]);

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

functionf=myfun(x)

f=[sin(x

(1)-x

(2)),cos(x

(1)+x

(2))];

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

N=100;

p=0.157;

k=0:

N;

pdf=binopdf(k,N,p);

plot(k,pdf,'

.-k'

k'

P'

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

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

N=10000;

Mu=4;

Sigma=2;

%x=randn(N,1)

%y=Mu+Sigma*x;

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

figure();

hist(y,100);

histfit(y);

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,'

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标志。

如图所示。

18;

figure

(1);

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));

elseifz==1

y=t.*exp(-t);

3);

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])

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

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

the=0:

pi/100:

P=1-cos(the);

h=polar(the,P);

Ø

Ï

ß

Ä

¾

ä

±

ú

set(h,'

3)

P=1-cos(\theta)'

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

及其积分

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

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),'

\fontsize{14}\int_0^xy(t)dt'

set(H1,'

set(H2,'

1.绘制

的三维曲线如图所示。

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

x=sin(t);

y=cos(t);

z=t;

plot3(x,y,z,'

g'

%h=get(gcf,'

CurrentAxes'

set(gca,'

14,'

\fontsize{24}x'

\fontsize{24}y'

\fontsize{24}z'

2.在区域

,绘制

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

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

x=-3:

3;

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

surfc(X,Y,Z);

colormap(cool);

%xlim([-33]);

%ylim([-33])

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

XTick'

-3:

3);

Ì

å

É

è

Ã

º

labelÆ

ð

×

÷

alpha(0.5)

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

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

具体要求为:

没有输入量时,画出单位圆;

输入量为大于2的自然数N时,绘制正N边形,图名反映多边形的边数;

输入量是“非自然数”时,提示“输入输错,请出入一个自然数”。

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

2.showfig;

showfig(3);

showfig(6);

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

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,'

axisoff;

axisequal;

3.用指令fminbnd求

附近的最小值。

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

4.x=-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('

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,'

步骤:

(1)设置当前目录为:

\toolbox\matlab\elmat\private

(2)输入smoke(3,0,'

)获得结果,再输入SM=@smoke;

创建smoke.的函数句柄

(3)回到当前目录;

E:

\班级.输入A=SM(3,0,'

)即可

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

当前位置:首页 > 表格模板 > 合同协议

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

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