完整版MATLAB课后实验1.docx
《完整版MATLAB课后实验1.docx》由会员分享,可在线阅读,更多相关《完整版MATLAB课后实验1.docx(50页珍藏版)》请在冰点文库上搜索。
完整版MATLAB课后实验1
实验一MATLAB运算基础
1.先求以下表达式的值,尔后显示MATLAB工作空间的使用情
况并保存全部变量。
(1)
0
2sin85
z
12
1e
(2)
1
2
zln(x1x),其中
2
2
x
212i
5
(3)
a
eea
zsin(a0.3)ln,a3.0,2.9,L,2.9,
3
22
2
t0t1
(4)
2
zt11t2
4
2
t2t12t3
,其中
解:
M文件:
z1=2*sin(85*pi/180)/(1+exp
(2))
x=[21+2*i;-.455];
z2=1/2*log(x+sqrt(1+x^2))
a=-3.0:
0.1:
3.0;
z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)
t=0:
0.5:
2.5;
z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3).*(t.^2-2*t+1)
4.完成以下操作:
(1)求[100,999]之间能被21整除的数的个数。
(2)建立一个字符串向量,删除其中的大写字母。
解:
(1)结果:
m=100:
999;
n=find(mod(m,21)==0);
length(n)
ans=
43
(2).建立一个字符串向量比方:
ch='ABC123d4e56Fg9';那么要求结果是:
ch='ABC123d4e56Fg9';
k=find(ch>='A'&ch<='Z');
ch(k)=[]
ch=
123d4e56g9
实验二MATLAB矩阵解析与办理
1.设有分块矩阵
A
ER
3332
OS
2322
,其中E、R、O、S分别为单位矩阵、随机矩阵、零矩
阵和对角阵,试经过数值计算考据
2
A
ERRS
2
OS
。
解:
M文件以下;
5.下面是一个线性方程组:
111
234
x
1
111
x
2
345
x0.52111
3
456
(1)求方程的解。
(2)将方程右边向量元素b3改为0.53再求解,并比较b3的变化和解的相对变化。
(3)计算系数矩阵A的条件数并解析结论。
解:
M文件以下:
实验三选择结构程序设计
1.求分段函数的值。
2
xx6x0且x3
2
yxxxxx
5605且2及3
2
xx
1
其他
用if语句实现,分别输出时的y值。
解:
M文件以下:
2.输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。
其中90分~100分为A,
80分~89分为B,79分~79分为C,60分~69分为D,60分以下为E。
要求:
(1)分别用if语句和switch语句实现。
(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
解:
M文件以下
3.硅谷公司员工的薪水计算方法以下:
(1)工作时数高出120小时者,高出局部加发15%。
(2)工作时数低于60小时者,扣发700元。
(3)其他按每小时84元计发。
试编程按输入的工号和该号员工的工时数,计算应发薪水。
解:
M文件下
实验四循环结构程序设计
1.依照
2
1111
L,求π的近似值。
当n分别取100、1000、10000
2222
6123n
时,结果是多少?
要求:
分别用循环结构和向量运算〔使用sum函数〕来实现。
解:
M文件以下:
运行结果以下:
2.依照
y1
111
L,求:
352n1
(1)y<3时的最大n值。
(2)与
(1)的n值对应的y值。
解:
M—文件以下:
3.考虑以下迭代公式:
x
n
1
a
bx
n
其中a、b为正的学数。
(1)编写程序求迭代的结果,迭代的停止条件为|xn+1-xn|≤10-5,迭代初值x0,迭代
次数不高出500次。
(2)若是迭代过程收敛于r,那么r的正确值是
24
bba
2
,当(a,b)的值取(1,1)、
(8,3)、(10,0.1)时,分别对迭代结果和正确值进行比较。
解:
M文件以下:
运算结果以下;
5.假设两个连续自然数的乘积减1是素数,那么称这两个边疆自然数是亲密数对,该素数
是亲密素数。
比方,2×3-1=5,由于5是素数,所以2和3是亲密数,5是亲密素数。
求[2,50]
区间内:
(1)亲密数对的对数。
(2)与上述亲密数对对应的全部亲密素数之和。
解:
M文件:
实验五函数文件
4.设
f(x)
11
24
(x2)(x3)
,编写一个MATLAB函数文件,使得
调用f(x)时,x可用矩阵代入,得出的f(x)为同阶矩阵。
解:
函数文件:
functionf=fx(x)
%fxfx求算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)
运算结果:
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)
函数文件:
functionf=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)
(2).
函数文件
functions=g(n)
fori=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)
实验八数据办理与多项式计算
2.将100个学生5门功课的成绩存入矩阵P中,进行以下办理:
(1)分别求每门课的最高分、最低分及相应学生序号。
(2)分别求每门课的平均分和标准方差。
(3)5门课总分的最高分、最低分及相应学生序号。
(4)将5门课总分按从大到小序次存入zcj中,相应学生序号存入xsxh。
提示:
上机调试时,为防范输入学生成绩的麻烦,可用取值范围在[45,95]之间的随机
矩阵来表示学生成绩。
解:
M文件:
clc;
t=45+50*rand(100,5);
P=fix(t);%生成100个学生5门功课成绩
[x,l]=max(P)
%x为每门课最高分行向量,l为相应学生序号
[y,k]=min(P)
%y为每门课最低分行向列,k为相应学生序号
mu=mean(P)%每门课的平均值行向量
sig=std(P)%每门课的标准差行向量
s=sum(P,2)%5门课总分的列向量
[X,m]=max(s)%5门课总分的最高分X与相应学生序号m
[Y,n]=min(s)%5门课总分的最低分Y与相应学生序号n
[zcj,xsxh]=sort(s)
%zcj为5门课总分从大到小排序,相应学生序号xsxh
运行结果:
3.某气象察看得某日6:
00~18:
00之间每隔2h的室内外温度〔0C〕如实验表1所示。
实验表1室内外温度察看结果〔
0C〕
时间h681012141618
室内温度t118.0
室外温度t2
试用三次样条插值分别求出该日室内外6:
30~18:
30之间每隔2h各点的近似温度〔0C〕。
解:
M文件:
clc;
h=6:
2:
18;
t1=[18.020.022.025.030.028.024.0];
t2=[15.019.024.028.034.032.030.0];
T1=interp1(h,t1,'spline')%室内的3次样条插值温度
T2=interp1(h,t2,'spline')%室外的3次样条插值温度
运行结果:
4.lgx在[1,101]区间10个整数采样点的函数值如实验表2所示。
实验表2lgx在10个采样点的函数值
x1112131415161718191
101
lgx0
试求lgx的5次拟合多项式p(x),并绘制出lgx和p(x)在[1,101]区间的函数曲线。
解:
M文件:
x=1:
10:
101;
y=lg10(x);
P=polyfit(x,y,5)
y1=polyval(P,x);
plot(x,y,':
o',x,y1,'-*')
5.有3个多项式P1(x)=x4+2x3+4x2+5,P2(x)=x+2,P3(x)=x2+2x+3,试进行以下操
作:
(1)求P(x)=P1(x)+P2(x)P3(x)。
(2)求P(x)的根。
(3)当x取矩阵A的每一元素时,求P(x)的值。
其中:
1
A2
05
(4)当以矩阵A为自变量时,求P(x)的值。
其中A的值与第(3)题相同。
解:
M文件:
clc;clear;
p1=[1,2,4,0,5];
p2=[1,2];
p3=[1,2,3];
p2=[0,0,0,p2];
p3=[0,0,p3];
p4=conv(p2,p3);%p4是p2与p3的乘积后的多项式
np4=length(p4);
np1=length(p1);
p=[zeros(1,np4-np1)p1]+p4%求p(x)=p1(x)+p2(x)
x=roots(p)%求p(x)的根
A=[-11.2-1.4;0.7523.5;052.5];
y=polyval(p,A)%x取矩阵A的每一元素时的p(x)值
实验九数值微积分与方程数值求解
1.求函数在指定点的数值导数。
实验六高层绘图操作
3.
x
y
1
2
x0
2
e
2
ln(x1x)x0
在-5≤x≤5区间绘制函数曲线。
解:
M文件:
clc;
x=-5:
0.01:
5;
y=(x+sqrt(pi))/(exp
(2)).*(x<=0)+0.5*log(x+sqrt(1+x.^2)).*(x>0);
plot(x,y)
2.用数值方法求定积分。
(1)
2
22
Icost4sin(2t)1dt的近似值。
1
0
(2)
2
ln(1x)
Idt
202
1x
解:
M文件:
clc;clear;
f=inline('sqrt(cos(t.^2)+4*sin(2*t).^2+1)');
I1=quad(f,0,2*pi)
g=inline('log(1+x)./(1+x.^2)');
I2=quad(g,0,2*pi)
运行结果:
3.分别用3种不相同的数值方法解线性方程组。
6x5y2z5u4
9xy4zu13
3x4y2z2u1
3x9y2u11
解:
M文件:
clc;clear;
A=[65-25;9-14-1;342-2;3-902];
b=[-413111]';
x=A\b
y=inv(A)*b
[L,U]=lu(A);
z=U\(L\b)
运行结果:
4.求非齐次线性方程组的通解。
2x7x3xx6
1234
3x5x2x2x4
1234
9x4xx7x2
1234
解:
M文件
clc;clear;
formatrat
A=[2731;3522;9417];
b=[642]';
[x,y]=line_solution(A,b)
:
。
5.求代数方程的数值解。
(1)3x+sinx-e
x=0在x0周边的根。
(2)在给定的初值x0=1,y0=1,z0=1下,求方程组的数值解。
2
sinxylnz70
y3
3x2z10
xyz50
解:
M文件:
functiong=f(x)
g=3*x+sin(x)-exp(x);
clc;clear;
fzero('f',1.5)
(2).M文件:
functionF=fun(X)
x=X
(1);
y=X
(2);
z=X(3);
F
(1)=sin(x)+y^2+log(z)-7;
F
(2)=3*x+2-z^3+1;
F(3)=x+y+z-5;
X=fsolve('myfun',[1,1,1]',optimset('Display','off'))
运行结果:
6.求函数在指定区间的极值。
(1)
f(x)
3coslog
xxxx
x
e
在(0,1)内的最小值。
(2)
332
f(x,x)2x4xx10xxx在[0,0]周边的最小值点和最小值。
12112122
解:
M文件:
functionf=g(u)
x=u
(1);y=u
(2);
f=2*x.^3+4*x.*y^3-10*x.*y+y.^2;
clc;clear;
formatlong
f=inline('(x^3+cos(x)+x*log(x))/exp(x)');
[x,fmin1]=fminbnd(f,0,1)
[U,fmin2]=fminsearch('g',[0,0])
8.求微分方程组的数值解,并绘制解的曲线。
y'yy
123
y'yy
213
y'y
312
y(0)0,y(0)1,y(0)1
123
解:
令y1=x,y2=y,y3=z;这样方程变为:
x'yz
y'xz
z'
自变量是t
x(0)0,y(0)1,z(0)1
M文件:
functionxdot=sys(x,y)
xdot=[y
(2)*y(3);-y
(1)*y(3);-0.51*y
(1)*y
(2)];
clc;clear;
t0=0;tf=8;
[x,y]=ode23('sys',[t0,tf],[0,1,1])
plot(x,y)
实验十符号计算基础与符号微积分
一、
1.x=6,y=5,利用符号表达式求
z
3
x
1
xy
提示:
定义符号常数x=sym(‘6’),y=sym(‘5’)。
解:
M文件:
clearall;clc;
x=sym('6');y=sym('5');
z=(1+x)/(sqrt(3+x)-sqrt(y))
运行结果:
2.分解因式。
(1)x4-y4
(2)5135
解:
M文件:
clearall;clc;
symsxy;t=sym('5135');
a=x^4-y^4;
factor(a)
factor(t)
运行结果:
5.用符号方法求以下极限或导数。
sinxtanx
x(e1)2(e1)arccosx
(1)lim
(2)lim
3
x0x1
sinxx1
x322
1cos(2x)atdAdAdA
(3)y,求y',y''(4)A,分别求,,
2
xtcosxlnxdxdtdxdt
2
yf
22
2xyxy
(5)f(x,y)(x2x)e,,
求
xxy
x0,y1
解:
M文件:
clearall;clc;
symsxtayz;
f1=(x*(exp(sin(x))+1)-2*(exp(tan(x))-1))/sin(x)^3;%
(1)
limit(f1)
f2=(sqrt(pi)-sqrt(acos(x)))/sqrt(x+1);%
(2)
limit(f2,x,-1,'right')
y=(1-cos(2*x))/x;%(3)
y1=diff(y)
y2=diff(y,2)
A=[a^xt^3;t*cos(x)log(x)];%(4)
Ax1=diff(A,x,1)
At2=diff(A,t,2)
Axt=diff(Ax1,t)
f=(x^2-2*x)*exp(-x^2-z^2-x*z);%(5)
Zx=-diff(f,x)/diff(f,z)
dfxz=diff(diff(f,x),z);
x=sym('0');z=sym('1');
eval(dfxz)%符号运算返回数值
运行结果:
6.用符号方法求以下积分。
dxdx
(1)
(2)
4822
1xx(arcsinx)1x
2ln2
x1
xx2
(3)dx(4)e(1e)dx
4
010
x
解:
M文件:
clear;clc;
x=sym('x');
f1=1/(1+x^4+x^8);%
(1)
f2=1/(asin(x))^2/sqrt(1-x^2);%
(2)
f3=(x^2+1)/(x^4+1);%(3)
f4=exp(x)*(1+exp(x))^2;%(4)
F1=int(f1)
F2=int(f2)
F3=int(f3,0,inf)
F4=int(f4,0,log
(2))
运行结果: