最新matlab简单编程21个题目及答案.docx
《最新matlab简单编程21个题目及答案.docx》由会员分享,可在线阅读,更多相关《最新matlab简单编程21个题目及答案.docx(26页珍藏版)》请在冰豆网上搜索。
最新matlab简单编程21个题目及答案
1、设,把x=0~2π间分为101点,画出以x为横坐标,y为纵坐标的曲线。
第一题的matlab源程序:
1考虑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.76971.5442-0.19241.41930.2157
1.10930.37140.08590.88860.2916-1.1658
-0.8637-0.2256-1.4916-0.76480.1978-1.1480
0.07741.1174-0.7423-1.40231.58770.1049
-1.2141-1.0891-1.0616-1.4224-0.80450.7223
-1.11350.03262.35050.48820.69662.5855
-0.00680.5525-0.6156-0.17740.8351-0.6669
1.53261.10060.7481-0.1961-0.24370.1873
aver=(sum(R1(1:
end,1:
end)))./8%产生各行的平均值
aver=
0.07680.13630.1022-0.34730.49750.1044
a=std(R1(1:
end,1:
end))%产生各行的均方差也就是标准差
a=
1.08190.80931.34560.82330.80791.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-')%用红色线绘制曲线
holdon%保持窗口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-.')%用蓝色点划线绘制曲线
holdon%保持窗口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的图像
holdon%保持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)%在子图第一张,画出图像
holdon%保持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)%在子图的第二张画出图像
holdon%保持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)%在子图的第三张,画出图像
holdon%保持figure不关闭
t=-pi:
0.1:
pi;%t的取值范围
a=1;n=4;%a=1,n=4
x=sin(t);%x的表达式
y=sin(n*t+a);%y的表达式
subplot(224),plot(x,y)%在子图的第四张上,绘制图像
图形如下所示:
(2)matlab源程序如下所示:
t=-pi:
0.1:
pi;%t的取值
a=0;n=2;%a与n的取值
x=sin(t);%x的表达式
y=sin(n*t+a);%y的表达式
subplot(221),plot(x,y)%在子图的第一张绘制图像
holdon%保持figure窗口不关闭
t=-pi:
0.1:
pi;%t的取值
a=pi./3;n=2;%a与n的取值
x=sin(t);%x的表达式
y=sin(n*t+a);%y的表达式
subplot(222),plot(x,y)%在子图的第二张绘制图像
holdon%保持figure窗口不关闭
t=-pi:
0.1:
pi;%t的取值
a=pi./2;n=2;%a与n的取值
x=sin(t);%x的表达式
y=sin(n*t+a);%y的表达式
subplot(223),plot(x,y)%在子图的第三张绘制图像
holdon%保持figure窗口不关闭
t=-pi:
0.1:
pi;%t的取值范围
a=pi;n=2;%a与n的取值
x=sin(t);%x的表达式
y=sin(n*t+a);%y的表达式
subplot(224),plot(x,y)%在四个字图的第四张画出图像
图形如下所示:
7、绘制在定义域x=[-2,2],y=[-2,2]内的曲面。
Matlab源程序如下:
[x,y]=meshgrid([-2:
0.1:
2]);%此处描述x,y的范围
z=x.^2.*exp(-(x.^2+y.^2));%z的表达式
surf(x,y,z)%绘制曲面
图形如下所示:
经过旋转之后的图形:
8、,画出在上的曲线
所建立的M文件如下所示:
functiony=A(x);%文件名为A
ifx>=-3&x<-1%在-3《x<-1的条件下
y=(-x.^2-4*x-3)./2;%y所对应上述条件下的表达式
elseifx>=-1&x<1%-1《x<1
y=-x.^2+1;%y所对应的上述条件下的表达式
elsex>=1&x<=3%1《x《3
y=(-x.^2+4*x-3)./2;%y所对应的上述条件下的表达式
end%结束
在commandwindows中输入:
fplot('A',[-3,3])%绘制在-3到3上的曲线
所得图形如下所示:
9、
(1)设,求
symsx%定义变量x
y=x.*exp(2.*x);%y的表达式
s=diff(y,x,20)%对y求x的20阶导数
s=
10485760*exp(2*x)+1048576*x*exp(2*x)
(2)设,求
symsx%定义变量x
y=sin(x).^4+cos(x).^4;%y的表达式
s=diff(y,x,10)%对y求x的10阶导数
s=
-262144*cos(x)^4+1572864*cos(x)^2*sin(x)^2-262144*sin(x)^4
(3)设,求
symsxy%定义自变量x,y
z=y.^4.*(sin(x).^4)+x.^4.*(cos(y).^4);%z的表达式
s=diff(z,x)%对z求x的偏导数
s=
4*x^3*cos(y)^4+4*y^4*cos(x)*sin(x)^3
(4)
symsx%定义自变量x
i=int(1/((x.^2+1).*(x.^2+x)));%不定积分表达式
pretty(i)%求解不定积分
/i\log(x+1)/i\
log(x)+log(x+i)|---1/4|-----------+log(x-i)|--1/4|
\4/2\4/
(5)
symsx%定义自变量x
i=int(sqrt((9-x.^2).^3)./(x.^6));%不定积分表达式
pretty(i)%求解不定积分
/9\231/2
|---1|(-(x-9))
|2|
\x/
----------------------------
3
45x
(6)
symsx%定义自变量x
i=int