MATLAB课后实验答案(8)

2019-03-23 15:17

3.3948 6.7896 15.6800 3. 一个自然数是素数,且它的数字位置经过任意对换后仍为素数。例如13是绝对素数。试求所有两位绝对素数。

要求:定义一个判断素数的函数文件。 解:M文件: 函数prime.m文件 function [p] = prime(p) % 输入p的范围,找出其中的素数 m=p(length(p)); for i=2:sqrt(m) n=find(rem(p,i)==0&p~=i); p(n)=[]; %将p中能被i整除,而却不等于i的元素,即下标为n的元素剔除,其余的即为素数 end p; 命令文件: clc; p=10:99; p=prime(p); %找出10到99内的所有素数 p=10*rem(p,10)+(p-rem(p,10))/10; %将p素数矩阵每个元素个位十位调换顺序 p=prime(p) %再对对换后的素数矩阵找出所有的素数 运算结果: p = 11 31 71 13 73 17 37 97 79 4. 设f(x)?11?,编写一个MATLAB函数文件fx.m,使得24(x?2)?0.1(x?3)?0.01调用f(x)时,x可用矩阵代入,得出的f(x)为同阶矩阵。

解: 函数fx.m文件: function f= fx(x) %fx fx求算x矩阵下的f(x)的函数值 A=0.1+(x-2).^2;

B=0.01+(x-3).^4; f=1./A+1./B; 命令文件: clc; x=input('输入矩阵x='); f=fx(x) 运算结果: >> x=input('输入矩阵x='); f=fx(x) 输入矩阵x=[7 2;12 5] f = 0.0437 10.9901 0.0101 0.1724 5. 已知y?f(40)

f(30)?f(20)(1) 当f(n)=n+10ln(n2+5)时,求y的值。

(2) 当f(n)=1×2+2×3+3×4+...+n×(n+1)时,求y的值。 解:(1) 函数f.m文件: function f=f(x) f=x+10*log(x^2+5); 命令文件: clc; n1=input('n1='); n2=input('n2='); n3=input('n3='); y1=f(n1); y2=f(n2); y3=f(n3); y=y1/(y2+y3) 运算结果如下: n1=40 n2=30 n3=20

y = 0.6390 (2). 函数g.m文件 function s= g(n) for i=1:n g(i)=i*(i+1); end s=sum(g); 命令文件: clc; n1=input('n1='); n2=input('n2='); n3=input('n3='); y1=g(n1); y2=g(n2); y3=g(n3); y=y1/(y2+y3) 运算结果如下: n1=40 n2=30 n3=20 y = 1.7662 实验六 高层绘图操作

1. 设y??0.5???3sinx?cosx,在x=0~2π区间取101点,绘制函数的曲线。 2?1?x?解:M文件如下: clc; x=linspace(0,2*pi,101);

y=(0.5+3*sin(x)./(1+x.^2)); plot(x,y) 运行结果有:

2. 已知y1=x2,y2=cos(2x),y3=y1×y2,完成下列操作: (1) 在同一坐标系下用不同的颜色和线型绘制三条曲线。 (2) 以子图形式绘制三条曲线。

(3) 分别用条形图、阶梯图、杆图和填充图绘制三条曲线。 解:(1) M文件: clc; x=-pi:pi/100:pi; y1=x.^2; y2=cos(2*x); y3=y1.*y2; plot(x,y1,'b-',x,y2,'r:',x,y3,'k--') 运行结果:

(2)M文件: clc; x=-pi:pi/100:pi; y1=x.^2; y2=cos(2*x); y3=y1.*y2; subplot(1,3,1); plot(x,y1,'b-'); title('y1=x^2'); subplot(1,3,2); plot(x,y2,'r:'); title('y2=cos(2x)'); subplot(1,3,3); plot(x,y3,'k--'); title('y3=y1*y2'); .运行结果:

(3)M文件:

clc; x=-pi:pi/100:pi; y1=x.^2; y2=cos(2*x); y3=y1.*y2; subplot(2,2,1); plot(x,y1,'b-',x,y2,'r:',x,y3,'k--'); subplot(2,2,2); bar(x,y1,'b'); title('y1=x^2'); subplot(2,2,3); bar(x,y2,'r'); title('y2=cos(2x)'); subplot(2,2,4); bar(x,y3,'k'); title('y3=y1*y2');

由上面的M文件,只要依次将“bar”改为“stairs”、“stem”、“fill”,再适当更改区间取的点数,运行程序即可, 即有下面的结果:

3. 已知

?x????e2y???1ln(x?1?x2)??2在-5≤x≤5区间绘制函数曲线。

解:M文件: clc; x=-5:0.01:5; x?0

x?0y=(x+sqrt(pi))/(exp(2)).*(x<=0)+0.5*log(x+sqrt(1+x.^2)).*(x>0); plot(x,y) 运行结果:

由图可看出,函数在零点不连续。

4. 绘制极坐标曲线ρ=asin(b+nθ),并分析参数a、b、n对曲线形状的影响。 解:M文件如下: clc; theta=0:pi/100:2*pi;


MATLAB课后实验答案(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:筏板混凝土方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: