matlab简单编程21个题目及答案

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

1、设

+

+

=

)

1(

sin

3

5.0

cos

2

x

x

x

y

,把x=0~2π间分为101点,画出以x为横坐

标,y为纵坐标的曲线。

第一题的matlab源程序:

①考虑cos(x)为一个整体,然后乘以中括号里面的全部

x=0:2*pi/100:2*pi; %x的步长以及范围从0到2*pi y=cos(x).*(0.5+3*sin(x)./(1+x.^2)); %y的表达式

plot(x,y)%画出图形

图如下:

②考虑对整体求解cos,先求x乘以括号中的部分

x=0:2*pi/100:2*pi; %x的步长以及范围从0到2*pi y=cos(x.*(0.5+3*sin(x)./(1+x.^2))); %y的表达式

plot(x,y) %画出图形

图如下:

2、产生8×6阶的正态分布随机数矩阵R1, 求其各列的平均值和均方差。并求该矩阵全体数的平均值和均方差。

第二题的matlab源程序如下:

R1=randn(8,6) %产生正态分布随机矩阵

R1 =

1.0933 -0.7697 1.5442 -0.1924 1.4193 0.2157

1.1093 0.3714 0.0859 0.8886 0.2916 -1.1658

-0.8637 -0.2256 -1.4916 -0.7648 0.1978 -1.1480

0.0774 1.1174 -0.7423 -1.4023 1.5877 0.1049

-1.2141 -1.0891 -1.0616 -1.4224 -0.8045 0.7223

-1.1135 0.0326 2.3505 0.4882 0.6966 2.5855

-0.0068 0.5525 -0.6156 -0.1774 0.8351 -0.6669

1.5326 1.1006 0.7481 -0.1961 -0.2437 0.1873

aver=(sum(R1(1:end,1:end)))./8 %产生各行的平均值

aver =

0.0768 0.1363 0.1022 -0.3473 0.4975 0.1044

a=std(R1(1:end,1:end)) %产生各行的均方差也就是标准差

a =

1.0819 0.8093 1.3456 0.8233 0.8079 1.2150

aver1=(sum(R1(:)))./48 %全体数的平均值

aver1 =

0.0950

b=std(R1(:)) %全体数的均方差即标准差

b =

1.0103

3、设x=rcost+3t,y=rsint+3,分别令r=2,3,4,画出参数t=0~10区间生成的x~y 曲线。

第三题的matlab源程序如下:

t=0:0.1:10; %t的取值以0.1的步长从0到10

r=2; %r=2

x=r*cos(t)+3*t; %x的表达式

y=r*sin(t)+3; %y的表达式

plot(x,y,'r-') %用红色线绘制曲线

hold on %保持窗口figure窗口不关闭

t=0:0.1:10; %t的取值以0.1的步长从0到10

r=3; %r=3

x=r*cos(t)+3*t; %x的表达式

y=r*sin(t)+3; %y的表达式

plot(x,y,'b-.') %用蓝色点划线绘制曲线

hold on %保持窗口figure窗口不关闭

t=0:0.1:10; %t的取值以0.1的步长从0到10

r=4; %r=4

x=r*cos(t)+3*t; %x的表达式

y=r*sin(t)+3; %y的表达式

plot(x,y,'m-') %用红紫色线绘制曲线

4、设f(x)=x5- 4x4 +3x2- 2x+ 6

(1) 在x=[-2,8]之间取100个点,画出曲线,看它有几个过零点。(提示:用polyval 函数)

(2) 用roots函数求此多项式的根。

(1)matalab的源程序如下:(利用的是在同一图中展现两条线,通过放大看交点)x=-2:0.1:8; %x的取值范围

y=0; %y=0

plot(x,y,'m') %用红紫色表示绘制出的y=0的图像hold on %保持figure窗口不关闭

x=-2:0.1:8; %x的取值范围

p=[1,-4,0,3,-2,6]; %p表示函数表达式的系数矩阵

y=polyval(p,x),plot(x,y) %y=polyval表示求多项式x处的y值,绘制图像

将图形进行放大(如下),发现在实数域上有3个零点。

(2)matlab源程序如下:

roots(p) %求函数的根

ans =

3.7999

-1.2607

1.3479

0.0564 + 0.9623i

0.0564 - 0.9623i

可见实数解有三个,复数解有两个。

5、建立一个字符串向量,然后对该向量做如下处理:

(1) 取第1~5个字符组成的子字符串。

(2) 将字符串倒过来重新排列。

(3) 统计字符串中小写字母的个数。

整个题的源程序如下所示:

ch='abcj245DFGK'; %建立一个字符串

subch=ch(1:5) %取1~5个字符

subch =

abcj2

revch=ch(end:-1:1) %倒序排列

revch =

KGFD542jcba

a=find(ch>='a'&ch<='z'); %找到小写字母的位置

length(a) %输出小写字母的个数

ans =

4

6、设x=sint, y=sin(nt+a),

(1)若a=1,令n =1,2,3,4,在四个子图中分别画出其曲线。

(2)若n=2,取a=0,π/3,π/2,及π,在四个子图中分别画出其曲线。(1)matlab源程序如下;

t=-pi:0.1:pi; %t的取值范围

a=1;n=1; %a=1,n=1

x=sin(t); %x的表达式

y=sin(n*t+a); %y的表达式

subplot(221),plot(x,y) %在子图第一张,画出图像

hold on %保持figure不关闭

t=-pi:0.1:pi; %t的取值范围

a=1;n=2; %a=1,n=2

x=sin(t); %x的表达式

y=sin(n*t+a); %y的表达式

subplot(222),plot(x,y) %在子图的第二张画出图像

hold on %保持figure不关闭

t=-pi:0.1:pi; %t的取值范围

a=1;n=3; %a=1,n=3

x=sin(t); %x的表达式

y=sin(n*t+a); %y的表达式

subplot(223),plot(x,y) %在子图的第三张,画出图像

hold on %保持figure不关闭

t=-pi:0.1:pi; %t的取值范围

a=1;n=4; %a=1,n=4

x=sin(t); %x的表达式

相关文档
最新文档