matlab练习题及答案详解(附程序)

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Matlab练习题及答案详解

一、基础题

1、下表为

1)

2) 把任意两点距离的表中,自己到自己的距离,转变成无穷大

clc

clear

close all

data=xlsread('ti1.xls');%从excel里导入数据

x=data(1,:);%将data里第一行的所有列赋值给x

y=data(2,:);%将data里第二行的所有列赋值给x

n=length(x);%表x的长度

dis=zeros(n,n);%对距离表进行初始化

for i=1:n

for j=1:n

dis(i,j)=sqrt((x(i)-x(j))^2+(y(i)-y(j))^2);%平面坐标距离公式

end

end

dis(dis==0)=inf;%将距离表中为0的数值,变成无穷大

redis=dis;

2、按要求步骤,操作下表

要求:

1) 对每列进行[0,1]区间化'(min())/(max min())

=--;

x x x x

2) 把区间化后的表的右边3列,连接在左边3列下边,构成16行3列的表;

3) 把16行3列进行转置,得到3行16列的表。然后对列进行操作,把3行

16列的表变成一列,后转置成一行,得到最终的结果。

clc

clear

close all

x=load('ti2.txt');%从txt里导入数据

big=max(x);small=min(x);%算出每列的最大最小值

[m,n]=size(x);%表x的行和列的大小

newx1=zeros(m,n);%对newx1进行初始化,大小和初始x一样大

for i=1:n

newx1(:,i)=(x(:,i)-small(i))./(big(i)-small(i));

end

newx2=zeros(2*m,n/2);%对最新的表进行初始化大小为,行为newx1的2倍,列为一半

newx2(1:m,1:n/2)=newx1(1:m,1:n/2);%把左边3列不操作的值,直接赋值给newx2上边

newx2(m+1:end,1:n/2)=newx1(1:m,n/2+1:end);%把右边的3列,赋值给newx2下边

[p,q]=size(newx2);%表newx2的行和列的大小 newx3=zeros(p*q,1);%对newx3进行初始化 for j=1:q

newx3((j-1)*p+1:j*p,1)=newx2(:,q);%对newx3进行操作 end

% newx3=reshape(newx2,[],1); renewx=newx3';%最终的结果

3、数值运算

1)用matlab 求下列式子极限

(a) lim x → (b) 0x →2)用matlab 求下列函数的导数

(a)

22sin (1)y x =+ (b) arccos()(,)x f x y ye =

3)用matlab 求下列式子的定积分

(a) 4

(b) 31

2

-⎰⎰

clc clear %===求极限 %====3.1.a=== syms x

y=(x^(1/2)-8)/(x^(1/3)-4);

re1a=limit(y,x,64)

%====3.1.b===

syms x

y=((x^2-2*x+4)^(1/2)-2)/x;

re1b=limit(y,x,0)

%===求导数

%====3.2.a===

syms x

f=(sin(x^2+1))^2;

re2a=diff(f,x)%对x求导

%====3.2.b===

syms x y

f=y*exp(acos(x));

re2bx=diff(f,x)%对x求偏导

re2by=diff(f,y)%对y求偏导

%===求定积分===

%====3.3.a===

syms x

re3a=int((x+2)/(2*x+1)^(1/2),x,0,4)%一重积分

%====3.3.b===

syms x y

re3b=int(int(y/(x^2-1),x,-2,-sqrt(2)),y,1,3)%二重积分

二、提高题

1、画一个正五边形,边长自定。

图1:示例一

clc

clear

close all

a=100;

b=a/(2*sin(36/180*pi));

x=b*[-cos(18/180*pi) 0 cos(18/180*pi)....

sin(36/180*pi) -sin(36/180*pi) -cos(18/180*pi)]; y=b*[sin(18/180*pi) 1 sin(18/180*pi)....

-cos(36/180*pi) -cos(36/180*pi) sin(18/180*pi) ]; plot(x,y,'linewidth',2)

text(-b/4,0,'正五边形','fontsize',20)

text(0,0,'y=','num2str(p(1))')

axis([-b-b/5 b+b/5 -b-b/5 b+b/5])

axis equal

box off

相关文档
最新文档