好文档 - 专业文书写作范文服务资料分享网站

MATLAB习题参(胡良剑,孙晓君)

天下 分享 时间: 加入收藏 我要投稿 点赞

第一章 MATLAB入门

4、求近似解

解:>> x=-2:0.05:2;y=x.^4-2.^x

两个近似解:y1=f(-0.85)= -0.0328; y2=f(1.250)= 0.0630

第二章 MATLAB编程与作图

1、 设x是数组,求均值和方差 解:函数文件如下:

function [xx,s]=func1(x) n=length(x); xx=sum(x)/n;

s=sqrt((sum(x.^2)-n*xx^2)/(n-1)); 命令窗口:

>> x=[1 2 3 4 5];[xx,s]=func1(x) 2、求满足

s=0; n=0;

while(s<=100) s=s+log(1+n); n=n+1; end n,s

3、用循环语句形成Fibonacci数列F1=F2=1,Fk=Fk?1+Fk?2,k=3,4,....。并验证极限

∑ln(1+n)>100的最小m值

n=0

m

Fk1+5

(提示:计算至两边误差小于精度1e-8为止) →

Fk?12

解: 求Fibonacci数列的函数文件: function f=fun(n)

if n<=2 f=1; else

f=fun(n-1)+fun(n-2);

end

验证极限的函数文件:

function [k,a]=funTest(e) a=abs(1-(1+sqrt(5))/2); k=2;

while(a>e) k=k+1;

a=abs(fun(k)/fun(k-1)-(1+sqrt(5))/2); end

命令行:

>> [k,a]=funTest(10^-8) k = 21 a =

9.7719e-009

或者M文件如下:

clear; F(1)=1;F(2)=1;k=2;x=0; e=1e-8; a=(1+sqrt(5))/2; while abs(x-a)>e

k=k+1; F(k)=F(k-1)+F(k-2); x=F(k)/F(k-1); end a,x,k

4、分别用for和while循环结构编写程序,求出K=计,比较各种算法的运行时间。 解:循环结构:M文件loop.m

k=0; for i=1:10^6 k=k+sqrt(3)*2^-i; end k

非循环结构:M文件nonLoop.m

i=1:10^6; x=sqrt(3)*(2.^-i); k=sum(x)

速度比较:>>tic;loop;toc %循环结构的执行时间

k = 1.7321

Elapsed time is 1.813000 seconds.

>> tic;nonLoop;toc %非循环结构的执行时间 k = 1.7321

Elapsed time is 1.094000 seconds.

5、作图描述气温变化 >> x=0:24;

>> y=[15,14,14,14,14,15,16,18,20,22,23,25,28,31,32,31,29,27,25,24,22,20,18,17,16]; >> plot(x,y) 6、作出下列函数图形

(1)y=xsin(x?x?2) ?2≤x≤2 (分别使用plot和fplot完成) 解:>> fplot('x^2*sin(x^2-x-2)',[-2 2]) %fplot方法

2

2

106

i=1

3

,并考虑一种避免循环语句的程序设i2

>> x=-2:0.1:2;y=x.^2.*sin(x.^2-x-2);plot(x,y) %plot方法 如图(4.1)

x2y2

+=1 (椭圆 提示:用参数方程) (2)49

解:>> r=-pi:0.1:pi;x=2*cos(r);y=3*sin(r);plot(x,y) % 如图(4.2) 解法二 x=-2:1/100:2;

y1=3*sqrt(1-x.^2/4); y2=-3*sqrt(1-x.^2/4); plot(x,y1,'r-',x,y2,'r-'); axis equal tight;

图(4.1) 图(4.2)

(3)z=x+y (抛物面) x<3,y<3

解:(错误)>> x=[-3:0.1:3];y=[-3:0.1:3];z=x.^2+y.^2; plot3(x,y,z) % 如图(4.31)

(正确)>> xa=-3:0.1:3;ya=-3:0.1:3;[x,y]=meshgrid(xa,ya); % 如图(4.32)

>> z=x.^2+y.^2;mesh(x,y,z); >> surf(x,y,z)

22

图(4.31)error 图(4.32)

(4)曲面z=x+3x+y?2x?2y?2xy+6,x<3,?3> xa=linspace(-3,3,100);ya=linspace(-3,13,100);

>> [x,y]=meshgrid(xa,ya);

>> z=x.^4+3*x.^2+y.^2-2*x-2*y-2*x.^2.*y+6; >> mesh(x,y,z) >> surf(x,y,z)

(5)空间曲线x=sint,y=cost,z=cos(2t),0

4222

解:>> t=linspace(0,2,50);x=sin(t);y=cos(t);z=cos(2*t);

>> plot3(x,y,z)

(6)半球面x=2sinφcosθ,y=2sinφsinθ,z=2cosφ,0≤φ≤360o

,0≤θ≤90o

解: >>a=linspace(0,2*pi,50);b=linspace(0,pi/2,50);

>> [a,b]=meshgrid(a,b);

>> x=2*sin(a).*cos(b);y=2*sin(a).*sin(b);z=2*cos(a); >> surf(x,y,z)

(7)三条曲线合成图y1=sinx,y2=sintsin(

10x),y3=?sinx,0>x=linspace(0,pi,50);y1=sin(x);

>> plot(x,y1);hold on; >> y2=sin(x).*sin(10*x); >> plot(x,y2); >> y3=-sin(x); >> plot(x,y3); >> hold off;

?1.1x>1.1

7、作下列分段函数图y=?

?xx≤1.1

??

?1.1x1.1 y(i)=1.1; elseif x(i)<-1.1 y(i)=-1.1; else y(i)=x(i); end end plot(x,y); grid on;

9、用MATLAB函数表示下列函数,并作图。

?p(x,y)=?

0.5457exp(?0.75y2?3.75x2?1.5x),x+y>1?0.7575exp(?y2?6x2),?1

??

0.5457exp(?0.75y2?3.75x2+1.5x),x+y≤?1解:建立M文件pxy如下:

xa=-2:0.05:2;ya=xa; nx=length(xa);ny=length(ya); [x,y]=meshgrid(xa,ya); z=zeros(nx,ny);

[a1,b1]=find(x+y>1); %第a1列b1行对应的x+y>1 (x对应列;y对应行) %第a1列对应的x值是xa(a1);第b1行对应的y值是ya(b1)

z((a1-1)*ny+b1)=0.5457*exp(-0.75*ya(b1).^2-3.75*xa(a1).^2-1.5*xa(a1)); [a2,b2]=find(x+y<=1&x+y>-1);

z((a2-1)*ny+b2)=0.7575*exp(-ya(b2).^2-6*xa(a2).^2); [a3,b3]=find(x+y<=-1);

z((a3-1)*ny+b3)=0.5457*exp(-0.75*ya(b3).^2-3.75*xa(a3).^2+1.5*xa(a3)); surf(x,y,z); 命令窗口:

>> pxy 运行结果如右图: 或者M文件如下: clear;close; xa=-2:0.1:2;ya=-2:0.1:2;[x,y]=meshgrid(xa,ya); z=zeros(size(x)); k1=find(x+y>1); z(k1)=0.5457*exp(-0.75*y(k1).^2-3.75*x(k1).^2-1.5*x(k1)); k2=find(x+y<=1&x+y>-1); z(k2)=0.7575*exp(-y(k2).^2-6*x(k2).^2); k3=find(x+y<-1); z(k3)=0.5457*exp(-0.75*y(k3).^2-3.75*x(k3).^2+1.5*x(k3)); mesh(x,y,z);

6、运行demo 解:>>demo

7、查询trapz的功能、用法、目录、程序结构、相同目录下其它文件 解: >> help trapz ――功能用法

>> type trapz――程序结构,源码 >> which trapz――所在目录

>> help C:\\MATLAB6p5\\toolbox\\matlab\\datafun――该目录下其它文件

第三章 矩阵代数

2、求下列线性方程组的解

MATLAB习题参(胡良剑,孙晓君)

第一章MATLAB入门4、求近似解解:>>x=-2:0.05:2;y=x.^4-2.^x两个近似解:y1=f(-0.85)=-0.0328;y2=f(1.250)=0.0630第二章MATLAB编程与作图1、设x是数组,求均值和方差解:函数文件如下:function
推荐度:
点击下载文档文档为doc格式
41f872y9s072h8v7sa970wk4t3v4f000u4k
领取福利

微信扫码领取福利

微信扫码分享