admin 管理员组

文章数量: 887021


2023年12月23日发(作者:php网站渗透破解)

实验一 MATLAB运算基础

1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。

2sin850(1)

z1

1e2(2)

z2ln(x1x2),其中x1212i2

50.45,2.9,3.0

e0.3ae0.3a0.3asin(a0.3)ln,a3.0,2.9,(3)

z322t20t12(4)

z41t2,其中t=0:0.5:2.5

t1t22t12t3解:

M文件:

z1=2*sin(85*pi/180)/(1+exp(2))

x=[2 1+2*i;-.45 5];

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 / 19

解:(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E33O23R32,其中E、R、O、S分别为单位矩阵、随机矩阵、零矩S22阵和对角阵,试通过数值计算验证A2解: M文件如下;

ERRS。

2SO2 / 19

5. 下面是一个线性方程组:

12131413141514x0.9511

x0.6725x0.52136(1) 求方程的解。

(2) 将方程右边向量元素b3改为0.53再求解,并比较b3的变化和解的相对变化。

(3) 计算系数矩阵A的条件数并分析结论。

解: M文件如下:

3 / 19

实验三 选择结构程序设计

1. 求分段函数的值。

x2x6x0且x3yx25x60x5且x2及x3

x2x1其他用if语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的y值。

解:M文件如下:

4 / 19

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文件如下

5 / 19

3. 硅谷公司员工的工资计算方法如下:

(1) 工作时数超过120小时者,超过部分加发15%。

(2) 工作时数低于60小时者,扣发700元。

(3) 其余按每小时84元计发。

试编程按输入的工号和该号员工的工时数,计算应发工资。

解:M文件下

6 / 19

实验四 循环结构程序设计

1. 根据261112221231,求π的近似值。当n分别取100、1000、2n10000时,结果是多少?

要求:分别用循环结构和向量运算(使用sum函数)来实现。

解:M文件如下:

7 / 19

运行结果如下:

2. 根据y111351,求:

2n1(1) y<3时的最大n值。

(2) 与(1)的n值对应的y值。

解:M—文件如下:

8 / 19

3. 考虑以下迭代公式:

xn1a

bxn其中a、b为正的学数。

(1) 编写程序求迭代的结果,迭代的终止条件为|xn+1-xn|≤10-5,迭代初值x0=1.0,迭代次数不超过500次。

bb24a(2) 如果迭代过程收敛于r,那么r的准确值是,当(a,b)的值取(1,1)、2(8,3)、(10,0.1)时,分别对迭代结果和准确值进行比较。

解:

M文件如下:

9 / 19

运算结果如下;

5. 若两个连续自然数的乘积减1是素数,则称这两个边疆自然数是亲密数对,该素数是亲密素数。例如,2×3-1=5,由于5是素数,所以2和3是亲密数,5是亲密素数。求[2,50]区间内:

(1) 亲密数对的对数。

(2) 与上述亲密数对对应的所有亲密素数之和。

解:

M文件:

10 / 19

实验五 函数文件

4. 设f(x)11,编写一个MATLAB函数文件fx.m,使(x2)20.1(x3)4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;

11 / 19

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)

函数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)

(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)

实验八 数据处理与多项式计算

12 / 19

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所示。

0实验表1 室内外温度观测结果(C)

时间h 6 8 10 12

14 16 18

室内温度t1 18.0 20.0 22.0 25.0 30.0 28.0 24.0

室外温度t2 15.0 19.0 24.0 28.0 34.0 32.0 30.0

试用三次样条插值分别求出该日室内外6:30~18:30之间每隔2h各点的近似温度(0C)。

解:

M文件:

clc;

h=6:2:18;

t1=[18.0 20.0 22.0 25.0 30.0 28.0 24.0];

t2=[15.0 19.0 24.0 28.0 34.0 32.0 30.0];

T1=interp1(h,t1,'spline')%室内的3次样条插值温度

T2=interp1(h,t2,'spline')%室外的3次样条插值温度

运行结果:

4. 已知lgx在[1,101]区间10个整数采样点的函数值如实验表2所示。

实验表2 lgx在10个采样点的函数值

x 1 11 21 31 41 51 61 71 81 91 101

13 / 19

lgx 0 1.0414 1.3222 1.4914 1.6128 1.7076 1.7853 1.8513 1.9085 1.9510 2.0043

试求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.21.41

A0.7523.552.50(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=[-1 1.2 -1.4;0.75 2 3.5;0 5 2.5];

y=polyval(p,A) %x取矩阵A的每一元素时的p(x)值

实验九 数值微积分与方程数值求解

1. 求函数在指定点的数值导数。

实验六 高层绘图操作

14 / 19

3. 已知

xx0e2

y1ln(x1x2)x02在-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)

I1(2)

I220cost24sin(2t)21dt的近似值。

20ln(1x)dt

1x2解: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种不同的数值方法解线性方程组。

6x5y2z5u49xy4zu13

3x4y2z2u13x9y2u11解:M文件:

clc;clear;

A=[6 5 -2 5;9 -1 4 -1;3 4 2 -2;3 -9 0 2];

b=[-4 13 1 11]';

x=Ab

y=inv(A)*b

[L,U]=lu(A);

z=U(Lb)

运行结果:

4. 求非齐次线性方程组的通解。

15 / 19

2x17x23x3x463x15x22x32x44

9x4xx7x22341解:M文件

clc;clear;

format rat

A=[2 7 3 1;3 5 2 2;9 4 1 7];

b=[6 4 2]';

[x,y]=line_solution(A,b)

5. 求代数方程的数值解。

(1) 3x+sinx-ex=0在x0=1.5附近的根。

(2) 在给定的初值x0=1,y0=1,z0=1下,求方程组的数值解。

sinxy2lnz70y3

3x2z10xyz50解:M文件:

function g=f(x)

g=3*x+sin(x)-exp(x);

clc;clear;

fzero('f',1.5)

(2). M文件:

function F=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. 求函数在指定区间的极值。

x3cosxxlogx(1)

f(x)在(0,1)内的最小值。

ex332(2)

f(x1,x2)2x14x1x210x1x2x2在[0,0]附近的最小值点和最小值。

解:M文件:

16 / 19

function f=g(u)

x=u(1); y=u(2);

f=2*x.^3+4*x.*y^3-10*x.*y+y.^2;

clc;clear;

format long

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'1y2y3y'yy213

y'0.51yy123y1(0)0,y2(0)1,y3(0)1解: 令y1=x,y2=y,y3=z; 这样方程变为:

x'yzy'xz,自变量是t

z'0.51xyx(0)0,y(0)1,z(0)1

M文件:

function xdot=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x1

3xy提示:定义符号常数x=sym(‘6’),y=sym(‘5’)。

17 / 19

解:M文件:

clear all;clc;

x=sym('6');y=sym('5');

z=(1+x)/(sqrt(3+x)-sqrt(y))

运行结果:

2. 分解因式。

(1) x4-y4

解:M文件:

clear all;clc;

syms x y;t=sym('5135');

a=x^4-y^4;

factor(a)

factor(t)

运行结果:

5. 用符号方法求下列极限或导数。

(2) 5135

x(esinx1)2(etanx1)(1)limx0sin3x1cos(2x)(3)y,求y',y''x(5)已知f(x,y)(x2x)e

2(2)limx1arccosxx1axt3dAd2Ad2A(4)已知A,分别求,2,dxdtdxdttcosxlnxy2f,求,xxyx2y2xyx0,y1解:M文件:

clear all;clc;

syms x t a y z;

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^x t^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) %符号运算返回数值

18 / 19

运行结果:

6. 用符号方法求下列积分。

(1)(3)dx1x4x820(2)dx(arcsinx)21x2

ln2x1xx2dx(4)e(1e)dx40x1解: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))

运行结果:

19 / 19


本文标签: 矩阵 成绩 数值 学生