文档库 最新最全的文档下载
当前位置:文档库 › matlab数学实验胡良剑第五章

matlab数学实验胡良剑第五章

matlab数学实验胡良剑第五章
matlab数学实验胡良剑第五章

第五章

%Exercise 1

x=[0 4 10 12 15 22 28 34 40];

y=[0 1 3 6 8 9 5 3 0];

trapz(x,y)

%Exercise 2

x=[0 4 10 12 15 22 28 34 40];

y=[0 1 3 6 8 9 5 3 0];

diff(y)./diff(x)

%Exercise 3

xa=-1:0.1:1;ya=0:0.1:2;

[x,y]=meshgrid(xa,ya);

z=x.*exp(-x.^2 -y.^3);

[px,py] = gradient(z,xa,ya);

px

%Exercise 4

t=0:0.01:1.5;

x=log(cos(t));

y=cos(t)-t.*sin(t);

dydx=gradient(y,x)

plot(x,dydx) %dydx函数图,作图观察x=-1时,dydx的值约0.9 %以下是更精确的编程计算方法

[x_1,id]=min(abs(x-(-1)));%找最接近x=-1的点,id为这个点的下标dydx(id)

%Exercise 5(1)

fun=@(x)1/sqrt(2*pi)*exp(-x.^2/2);

quadl(fun,0,1)

或用trapz

x=linspace(0,1,100);

y=1/sqrt(2*pi)*exp(-x.^2/2);

trapz(x,y)

%Exercise 5(2)

fun=inline('exp(2*x).*cos(x).^3');

quadl(fun,0,2*pi)

或用trapz

x=linspace(0,2*pi,100);

y=exp(2*x).*cos(x).^3;

trapz(x,y)

%Exercise 5(3)

fun=@(x)x.*log(x.^4).*asin(1./x.^2);

quadl(fun,1,3)

或用trapz

x=1:0.01:3;

y=feval(fun,x);

trapz(x,y)

%Exercise 5(4)

fun=@(x)sin(x)./x;

quadl(fun,1e-10,1) %注意由于下限为0,被积函数没有意义,用很小的1e-10代替

%Exercise 5(5)

fun=inline('x.^(-x)','x');

quadl(fun,1e-10,1) %注意由于下限为0,被积函数没有意义,用很小的1e-10代替

%Exercise 5(6)

fun=inline('sqrt(1+r.^2.*sin(th))','r','th');

dblquad(fun,0,1,0,2*pi)

%Exercise 5(7)

%先在Editer窗口建立90页函数dblquad2,再在Command窗口

clear;

fun=@(x,y)1+x+y.^2;

clo=@(x)-sqrt(2*x-x.^2);

dhi=@(x)sqrt(2*x-x.^2);

dblquad2(fun,0,2,clo,dhi,100)

%Exercise 6

t=linspace(0,2*pi,100);

x=2*cos(t);y=3*sin(t);

dx=gradient(x,t);

dy=gradient(y,t);

f=sqrt(dx.^2+dy.^2);

trapz(t,f)

%Exercise 6另一解法

%先写参数方程x=2*cos(t);y=3*sin(t);

%计算x'(t)=-2*sin(t),y'(t)=3*cos(t)

%4*sin(t)^2+9*cos(t)^2=4+5*cos(t)^2

fun=@(t)sqrt(4+5*cos(t).^2);

quadl(fun,0,2*pi)

%Exercise 7

%先算出z的梯度dz/dx=(1-2*x^2)*exp(-x^2-y^2),dz/dy=(1-2*y^2)*exp(-x^2-y^2);

%根据曲面面积公式

fun=@(x,y)sqrt(1+((1-2*x.^2).*exp(-x.^2-y.^2)).^2+((1-2*y.^2)*exp(-x.^2-y.^2)).^2);

dblquad(fun,-1,1,0,2)

%或者用下列纯粹离散化解法

xa=linspace(-1,1);ya=linspace(0,2);

[x,y]=meshgrid(xa,ya);

z=x.*exp(-x.^2-y.^2);

[zx,zy]=gradient(z,xa,ya);

f=sqrt(1+zx.^2+zy.^2);

s=0;

for i=2:length(xa)

for j=2:length(ya)

s=s+(xa(i)-xa(i-1))*(ya(j)-ya(j-1))*(f(i,j)+f(i-1,j)+f(i,j-1)+f(i-1,j-1))/4;%每个近似长方体高用四顶点平均值

end

end

s

%Exercise 8

funl=inline('-(-x).^0.2.*cos(x)');

funr=inline('x.^0.2.*cos(x)');

quadl(funl,-1,0)+quadl(funr,0,1)

%Exercise 9 (以I32为例)

fun=@(x)abs(sin(x));

h=0.1;x=0:h:32*pi;y=feval(fun,x);t1=trapz(x,y)

h=pi;x=0:h:32*pi;y=feval(fun,x);t2=trapz(x,y)%步长与周期一致,结果失真q1=quad(fun,0,32*pi)

q2=quadl(fun,0,32*pi)

%Exercise 10(1)

先在Editer窗口建立88页函数deriv,再在Command窗口

fun=inline('x.^2.*sin(x.^2+3*x-4)','x');

deriv(fun,[1.3 1.5],0.1,1e-3) %取0.1为初始步长

%注:书后习题答案错,1.3处导数应为2.4177,1.5处导数应为-11.3330

%Exercise 10(2)

%先在程序编辑器,写下列函数,保存为ex5_10_2f

function d=ex5_10_2f(fname,a,h0,e)

h=h0;d=(fname(a+h)-2*fname(a)+fname(a-h))/(h*h);

d0=d+2*e;

while abs(d-d0)>e

d0=d;h0=h;h=h0/2;

d=(fname(a+h)-2*fname(a)+fname(a-h))/(h*h);

end

%再在指令窗口执行

fun=@(x)x.^2*sin(x.^2-x-2);

d=ex5_10_2f(fun,1.4,0.1,1e-3)

%Exercise 11

%提示:f上升时,f'>0;f下降时,f'<0; f极值,f'=0.

%Exercise 12

在程序编辑器,写下列函数,保存为ex5_12

function I=ex5_12(fname,a,b,n)

h=(b-a)/n;x=a:h:b;f=fname(x);

I=f(1)+f(n+1);

for i=2:n

if i-2*floor(i/2)==0

I=I+4*f(i);

else

I=I+2*f(i);

end

end

I=h/3*I;

%再在指令窗口执行

ex5_12(inline('1/sqrt(2*pi)*exp(-x.^2/2)'),0,1,50) %注:原题n=5改为偶数n=50

%更加符合Matlab风格的编程ex5_12

function I=ex5_12f(fname,a,b,n)

x=linspace(a,b,n+1);f=fname(x);

I=(b-a)/n/3*(f(1)+f(n+1)+2*sum(f(3:2:n))+4*sum(f(2:2:n)));

%Exercise 13

fun=inline('5400*v./(8.276*v.^2+2000)','v');

quadl(fun,15,30)

%Exercise 14

重心不超过凳边沿。上面第一块砖内侧1/2,第二块砖外侧1/3,依次1/2, 1/3, 1/4, ...,1/(n+1) 最大延伸1/2+1/3+...1/(n+1)

%Exercise15

利润函数fun=inline('(p-c0+k*log(M*exp(-a*p)))*M*exp(-a*p)','p');

求p使fun最大(本题无编程)

%Exercise 16

clear; x=-3/4:0.01:3/4;

y=(3/4+x)*2.*sqrt(1-16/9.*x.^2)*9.8;

P=trapz(x,y) %单位:千牛

%Exercise 17

clear; close;

fplot('17-t^(2/3)-5-2*t^(2/3)',[0,20]); grid;

t=fzero('17-x^(2/3)-5-2*x^(2/3)',7)

t=0:0.1:8; y=17-t.^(2/3)-5-2*t.^(2/3);

trapz(t,y)-20 %单位:百万元

%Exercise 18

%本题主要是曲面面积计算

%教堂顶部半椭球面方程可表示为z=c*sqrt(1-x^2/a^2-y^2/b^2),a=30.6,b=29.6,c=30.

%而其表面积为函数sqrt(1+dzdx^2+dzdy^2)在x^2/a^2+y^2/b^2<1区域上的二重积分

%根据对称性,只要计算四分之一(第一象限): 0

%这是非矩形区域

%用Ch7方法求导(也可手工算)

syms a b c x y;

z=c*sqrt(1-x^2/a^2-y^2/b^2);

simple(diff(z,x)^2+diff(z,y)^2)

%得dzdx^2+dzdy^2=c^2*(x^2/a^4+y^2/b^4)/(1-x^2/a^2-y^2/b^2)

%先在Editer窗口建立90页函数dblquad2

%再在Command窗口

clear; a=30.6;b=29.6;c=30;e=1e-10; %为了保证sqrt有意义设此e

fun=@(x,y)sqrt(1+c^2*(x.^2/a^4+y.^2/b^4)./(e+abs(1-x.^2/a^2-y.^2/b^2)));%为了保证除数有意义用abs和e

clo=@(x)0;

dhi=@(x)b*sqrt(1-x.^2/a^2);

S=1.015*4*dblquad2(fun,0,a-e,clo,dhi,100) %计算结果5776<5800所以略有盈余

%本题由于涉及sqrt意义,所以上述算法上要做一些处理,导致结果误差较大。

%下面采用极坐标变换,可以巧妙改进计算结果和计算速度

%令x=a*r*cos(t),y=b*r*sin(t),那么积分变成

%函数a*b*r*sqrt(1+c^2*r^2*(cos(t)^2/a^2+sin(t)^2/b^2)/(1-r^2))在0

S=1.015*4*dblquad(fun2,0,1,0,pi/2)

%计算结果5765<5800, 所以有盈余。

%p185

%ex9_9

clear;

x=[0.25 0.3 0.39 0.45 0.53];

y=[0.5 0.5477 0.6245 0.6708 0.728];

pp=csape(x,y,'complete',[1 0.6868]);

pp.coefs

pp2=csape(x,y,'second',[0 0]);

pp2.coefs

fnplt(pp,'g--'),hold on

fnplt(pp2,'r:'),hold off

%ex9_12

clear;

y=[100 75 80 70 50 65 90 100 110 60]';

x1=[1000 600 1200 500 300 400 1300 1100 1300 300]';

x2=[5 7 6 6 8 7 5 4 3 9]';

[b, bint, r, rint, stats]=regress(y,[ones(10,1), x1,x2]) %y=b(1)+b(2)*x1+b(3)*x2

ypre=b(1)+1000*b(2)+6*b(3)

数学实验答案-1

1.(1) [1 2 3 4;0 2 -1 1;1 -1 2 5;]+(1/2).*([2 1 4 10;0 -1 2 0;0 2 3 -2]) 2. A=[3 0 1;-1 2 1;3 4 2],B=[1 0 2;-1 1 1;2 1 1] X=(B+2*A)/2 3. A=[-4 -2 0 2 4;-3 -1 1 3 5] abs(A)>3 % 4. A=[-2 3 2 4;1 -2 3 2;3 2 3 4;0 4 -2 5] det(A),eig(A),rank(A),inv(A) 求计算机高手用matlab解决。 >> A=[-2,3,2,4;1,-2,3,2;3,2,3,4;0,4,-2,5] 求|A| >> abs(A) ans = ( 2 3 2 4 1 2 3 2 3 2 3 4 0 4 2 5 求r(A) >> rank(A) ans =

4 求A-1 《 >> A-1 ans = -3 2 1 3 0 -3 2 1 2 1 2 3 -1 3 -3 4 求特征值、特征向量 >> [V,D]=eig(A) %返回矩阵A的特征值矩阵D 与特征向量矩阵V , V = - + + - - + - + - + - + D = { + 0 0 0 0 - 0 0 0 0 + 0 0 0 0 - 将A的第2行与第3列联成一行赋给b >> b=[A(2,:),A(:,3)'] b = 《 1 - 2 3 2 2 3 3 -2

1. a=round(unifrnd(1,100)) i=7; while i>=0 i=i-1; b=input('请输入一个介于0到100的数字:'); if b==a ¥ disp('You won!'); break; else if b>a disp('High'); else if b

MATLAB数学实验第二版答案(胡良剑)

数学实验答案 Chapter 1 Page20,ex1 (5) 等于[exp(1),exp(2);exp(3),exp(4)] (7) 3=1*3, 8=2*4 (8) a为各列最小值,b为最小值所在的行号 (10) 1>=4,false, 2>=3,false, 3>=2, ture, 4>=1,ture (11) 答案表明:编址第2元素满足不等式(30>=20)和编址第4元素满足不等式(40>=10) (12) 答案表明:编址第2行第1列元素满足不等式(30>=20)和编址第2行第2列元素满足不等式(40>=10) Page20, ex2 (1)a, b, c的值尽管都是1,但数据类型分别为数值,字符,逻辑,注意a与c相等,但他们不等于b (2)double(fun)输出的分别是字符a,b,s,(,x,)的ASCII码 Page20,ex3 >> r=2;p=0.5;n=12; >> T=log(r)/n/log(1+0.01*p) Page20,ex4 >> x=-2:0.05:2;f=x.^4-2.^x; >> [fmin,min_index]=min(f) 最小值最小值点编址 >> x(min_index) ans = 0.6500 最小值点 >> [f1,x1_index]=min(abs(f)) 求近似根--绝对值最小的点 f1 = 0.0328 x1_index = 24 >> x(x1_index) ans = -0.8500 >> x(x1_index)=[];f=x.^4-2.^x; 删去绝对值最小的点以求函数绝对值次小的点 >> [f2,x2_index]=min(abs(f)) 求另一近似根--函数绝对值次小的点 f2 = 0.0630 x2_index = 65 >> x(x2_index) ans = 1.2500

matlab微积分基本运算

matlab 微积分基本运算 §1 解方程和方程组解 1. 线性方程组求解 对于方程 AX = B ,其中 A 是( m ×n )的矩阵有三种情形: 1)当n=m 且A 非奇异时,此方程为“恰定”方程组。 2)当 n > m 时,此方程为“超定”方程组。 3)当n

0.3188 两种方法所求方程组的解相同。 (2)MATLAB 解超定方程AX=B 的方法 对于方程 AX = B ,其中 A 是( m ×n )的矩阵, n > m ,如果A 列满秩,则此方程是没有精确解的。然而在实际工程应用中,求得其最小二乘解也是有意义的。基本解法有: 1)采用求伪逆运算解方程 x=pinv(A)*B 说明:此解为最小二乘解x=inv(A ’*A)*A*B,这里pinv(A) =inv(A ’*A)*A. 2)采用左除运算解方程 x=A\B 例2 “求伪逆”法和“左除”法求下列方程组的解 ??? ??=+=+=+1 221421 221 2121x x x x x x 命令如下: >> a=[1 2;2 4;2 2]; >> b=[1,1,1]'; >> xc=a\b %用左除运算解方程 运行得结果: xc = 0.4000 0.1000 >> xd=pinv(a)*b %用求伪逆运算解方程 运行得结果: xd = 0.4000 0.1000 >> a*xc-b %xc 是否满足方程ax=b 运行得结果: ans = -0.4000 0.2000 0.0000 可见xc 并不是方程的精确解。 (3) MATLAB 解欠定方程AX=B 的方法 欠定方程从理论上说是有无穷多个解的,如果利用求“伪逆”法和“左除”法来求解,只能得到其中一个解。基本方法: 1)采用求伪逆运算解方程 x=pinv(A)*B 2)采用左除运算解方程

高等数学MATLAB实验三 不定积分、定积分及其应用 实验指导书

实验三 不定积分、定积分及其应用 【实验类型】验证性 【实验学时】2学时 【实验目的】 1.掌握用MA TLAB 求函数不定积分、定积分的方法; 2.理解定积分的概念及几何意义; 3.掌握定积分的应用; 【实验内容】 1.熟悉利用MATLAB 计算不定积分的命令、方法; 2.通过几何与数值相结合的方法演示定积分的概念和定积分的几何意义; 【实验目的】 1.掌握利用MATLAB 计算不定积分的命令、方法; 2.通过几何与数值相结合的方法演示定积分的概念和定积分的几何意义; 3.掌握利用MATLAB 计算定积分、广义积分的命令、方法; 4.掌握利用MA TLAB 计算有关定积分应用的各种题型,包括平面图形的面积、旋转体的体积、平面曲线的弧长等; 【实验前的预备知识】 1.原函数与不定积分的概念; 2.不定积分的换元法和分部积分法; 3.定积分的概念; 4.微积分基本公式; 5.广义积分的敛散性及计算方法; 6.利用定积分计算平面图形的面积; 7.利用定积分计算旋转体的体积; 8.利用定积分计算平面曲线的弧长; 【实验方法或步骤】 一、实验使用的MATLAB 函数 1.int( f (x ) , x ); 求()f x 的不定积分; 2.int( f (x ), x , a , b );求()f x 在[,]a b 上的定积分;

3.int( f (x ) , x , -inf, inf );计算广义积分()d f x x ∞ -∞?; 4.solve('eqn1','eqn2',...,'eqnN','var1,var2,...,varN');求解n 元方程组; 二、实验指导 例1 计算不定积分cos 2x e xdx ? 。 输入命令: syms x; int(exp(x)*cos(2*x),x) 运行结果: ans = 1/5*exp(x)*cos(2*x)+2/5*exp(x)*sin(2*x) 例2 计算不定积分 。 输入命令: syms x; int(1/(x^4*sqrt(1+x^2))) 运行结果: ans = -1/3/x^3*(1+x^2)^(1/2)+2/3/x*(1+x^2)^(1/2) 例3 以几何图形方式演示、理解定积分()b a f x dx ?概念,并计算近似值。 先将区间[,]a b 任意分割成n 份,为保证分割加细时,各小区间的长度趋于0,在取分点时,让相邻两分点的距离小于2()/b a n -,分点取为()()/i i x a i u b a n =++-([0,1]i u ∈为随机数),在每一区间上任取一点1()i i i i i c x v x x +=+-([0,1]i v ∈为随机数)作积分和进行计算,程序如下: function juxs(fname,a,b,n) % 定积分概念演示,随机分割、 随机取近似,并求近似值 xi(1)=a; xi(n+1)=b; for i=1:n-1 xi(i+1)=a+(i+rand(1))*(b-a)/n; end

MATLAB数学实验100例题解

一元函数微分学 实验1 一元函数的图形(基础实验) 实验目的 通过图形加深对函数及其性质的认识与理解, 掌握运用函数的图形来观察和分析 函数的有关特性与变化趋势的方法,建立数形结合的思想; 掌握用Matlab 作平面曲线图性的方法与技巧. 初等函数的图形 2 作出函数x y tan =和x y cot =的图形观察其周期性和变化趋势. 解:程序代码: >> x=linspace(0,2*pi,600); t=sin(x)./(cos(x)+eps); plot(x,t);title('tan(x)');axis ([0,2*pi,-50,50]); 图象: 程序代码: >> x=linspace(0,2*pi,100); ct=cos(x)./(sin(x)+eps); plot(x,ct);title('cot(x)');axis ([0,2*pi,-50,50]); 图象: cot(x) 4在区间]1,1[-画出函数x y 1 sin =的图形. 解:程序代码: >> x=linspace(-1,1,10000); y=sin(1./x); plot(x,y); axis([-1,1,-2,2]) 图象:

二维参数方程作图 6画出参数方程???==t t t y t t t x 3cos sin )(5cos cos )(的图形: 解:程序代码: >> t=linspace(0,2*pi,100); plot(cos(t).*cos(5*t),sin(t).*cos(3*t)); 图象: 极坐标方程作图 8 作出极坐标方程为10/t e r =的对数螺线的图形. 解:程序代码: >> t=0:0.01:2*pi; r=exp(t/10); polar(log(t+eps),log(r+eps)); 图象: 90270 分段函数作图 10 作出符号函数x y sgn =的图形. 解:

(完整版)Matlab学习系列15.数值计算—高数篇

15. 数值计算—高数篇 一、求极限 limit(f,x,a)——求极限 lim ()x a f x → limit(f,x,a,'right')——求右极限 lim ()x a f x +→ limit(f,x,a,'left')——求左极限 lim ()x a f x -→ 例1 求 2352 lim sin 53x x x x →∞++ 代码: syms x; y=(3*x^2+5)/(5*x+3)*sin(2/x); limit(y,x,inf) 运行结果:ans = 6/5 注:Matlab 求二元函数的极限,是用嵌套limit 函数实现的,相当于求的是累次极限,需要注意:有时候累次极限并不等于极限。 例2 求 30 lim 2x x x x a b +→?? + ??? 代码: syms x a b; y=((a^x+b^x)/2)^(3/x); limit(y,x,0,'right') 运行结果:ans = a^(3/2)*b^(3/2) 二、求导 diff(f,x,n)——求函数f 关于x 的n 阶导数,默认n=1

例3 求1sin 1cos x y x += +的1阶导数,并绘图 代码: syms x a b; y=((a^x+b^x)/2)^(3/x); limit(y,x,0,'right') 运行结果: y1 = cos(x)/(cos(x) + 1) + (sin(x)*(sin(x) + 1))/(cos(x) + 1)^2 例4 设sin xy z e =,求2,,z z z x y x y ??????? 代码: syms x y; z=exp(sin(x*y)); zx=diff(z,x) zy=diff(z,y) zxy=diff(zx,y) % 也等于diff(zy,x) -5 5 5 10 15 20 25 x (sin(x) + 1)/(cos(x) + 1) -5 05 -20 -15 -10-5 05 10 1520 25x cos(x)/(cos(x) + 1) + (sin(x) (sin(x) + 1))/(cos(x) + 1) 2

实验一B Matlab基本操作与微积分计算

实验一Matlab基本操作与微积分计算 实验目的 1.进一步理解导数概念及其几何意义. 2.学习matlab的求导命令与求导法. 3.通过本实验加深理解积分理论中分割、近似、求和、取极限的思想方法. 4.学习并掌握用matlab求不定积分、定积分、二重积分、曲线积分的方法. 5.学习matlab命令sum、symsum与int. 实验内容 一、变量 1、变量 MA TLAB中变量的命名规则是: (1)变量名必须是不含空格的单个词; (2)变量名区分大小写; (3)变量名最多不超过19个字符; (4)变量名必须以字母打头,之后可以是任意字母、数字或下划线,变量名中不允许使用标点符号. 1、创建简单的数组 x=[a b c d e f ]创建包含指定元素的行向量 x=first:step: last创建从first起,逐步加step计数,last结束的行向量, step缺省默认值为1 x=linspace(first,last,n)创建从first开始,到last结束,有n个元素的行向量 x=logspace(first,last,n)创建从first开始,到last结束,有n个元素的对数分隔行向量. 注:以空格或逗号分隔的元素指定的是不同列的元素,而以分号分隔的元素指定了不同行的元素. 2、数组元素的访问 (1)访问一个元素: x(i)表示访问数组x的第i个元素. (2)访问一块元素: x(a :b :c)表示访问数组x的从第a个元素开始,以步长为b到第c个元素(但

不超过c),b可以为负数,b缺损时为1. (3)直接使用元素编址序号: x ([a b c d]) 表示提取数组x的第a、b、c、d个元素构成一个新的数组[x (a) x (b) x(c) x(d)]. 3、数组的运算 (1)标量-数组运算 数组对标量的加、减、乘、除、乘方是数组的每个元素对该标量施加相应的加、减、乘、除、乘方运算. 设:a=[a1,a2,…,an], c=标量, 则: a+c=[a1+c,a2+c,…,an+c] a .*c=[a1*c,a2*c,…,an*c] a ./c= [a1/c,a2/c,…,an/c](右除) a .\c= [c/a1,c/a2,…,c/an] (左除) a .^c= [a1^c,a2^c,…,an^c] c .^a= [c^a1,c^a2,…,c^an] (2)数组-数组运算 当两个数组有相同维数时,加、减、乘、除、幂运算可按元素对元素方式进行的,不同大小或维数的数组是不能进行运算的. 设:a=[a1,a2,…,an], b=[b1,b2,…,bn], 则: a +b= [a1+b1,a2+b2,…,an+bn] a .*b= [a1*b1,a2*b2,…,an*bn] a ./b= [a1/b1,a2/b2,…,an/bn] a .\b=[b1/a1,b2/a2,…,bn/an] a .^b=[a1^b1,a2^b2,…,an^bn] 三、矩阵 1、矩阵的建立 矩阵直接输入:从“[ ” 开始,元素之间用逗号“,”(或空格),行之间用分号“;”(或回车),用“ ]”结束. 特殊矩阵的建立: a=[ ] 产生一个空矩阵,当对一项操作无结果时,返回空矩阵,空矩阵的大小为零. b=zeros (m,n) 产生一个m行、n列的零矩阵 c=ones (m,n) 产生一个m行、n列的元素全为1的矩阵 d=eye (m,n) 产生一个m行、n列的单位矩阵 eye (n) %生成n维的单位向量 eye (size (A)) %生成与A同维的单位阵 2、矩阵中元素的操作 (1)矩阵A的第r行A(r,:) (2)矩阵A的第r列A(:,r) (3)依次提取矩阵A的每一列,将A拉伸为一个列向量A(:) (4)取矩阵A的第i1~i2行、第j1~j2列构成新矩阵:A(i1:i2, j1:j2) (5)以逆序提取矩阵A的第i1~i2行,构成新矩阵:A(i2:-1:i1,:) (6)以逆序提取矩阵A的第j1~j2列,构成新矩阵:A(:, j2:-1:j1 ) (7)删除A的第i1~i2行,构成新矩阵:A(i1:i2,:)=[ ] (8)删除A的第j1~j2列,构成新矩阵:A(:, j1:j2)=[ ] (9)将矩阵A和B拼接成新矩阵:[A B];[A;B] 3、矩阵的运算 (1)标量-矩阵运算同标量-数组运算. (2)矩阵-矩阵运算 a. 元素对元素的运算,同数组-数组运算.(A/B %A右除B; B\A%A左除B) b. 矩阵运算: 矩阵加法:A+B 矩阵乘法:A*B 方阵的行列式:det(A) 方阵的逆:inv(A)

南邮MATLAB数学实验答案(全)

第一次练习 教学要求:熟练掌握Matlab 软件的基本命令和操作,会作二维、三维几何图形,能够用Matlab 软件解决微积分、线性代数与解析几何中的计算问题。 补充命令 vpa(x,n) 显示x 的n 位有效数字,教材102页 fplot(‘f(x)’,[a,b]) 函数作图命令,画出f(x)在区间[a,b]上的图形 在下面的题目中m 为你的学号的后3位(1-9班)或4位(10班以上) 1.1 计算30sin lim x mx mx x →-与3 sin lim x mx mx x →∞- syms x limit((902*x-sin(902*x))/x^3) ans = 366935404/3 limit((902*x-sin(902*x))/x^3,inf) ans = 0 1.2 cos 1000 x mx y e =,求''y syms x diff(exp(x)*cos(902*x/1000),2) ans = (46599*cos((451*x)/500)*exp(x))/250000 - (451*sin((451*x)/500)*exp(x))/250 1.3 计算 22 11 00 x y e dxdy +?? dblquad(@(x,y) exp(x.^2+y.^2),0,1,0,1) ans = 2.1394 1.4 计算4 2 2 4x dx m x +? syms x int(x^4/(902^2+4*x^2)) ans = (91733851*atan(x/451))/4 - (203401*x)/4 + x^3/12 1.5 (10)cos ,x y e mx y =求 syms x diff(exp(x)*cos(902*x),10) ans = -356485076957717053044344387763*cos(902*x)*exp(x)-3952323024277642494822005884*sin(902*x)*exp(x) 1.6 0x =的泰勒展式(最高次幂为4).

数学实验报告

高等数学数学实验报告 实验人员:院(系) __ __学号____姓名_ __ 实验地点:计算机中心机房 实验一 空间曲线与曲面的绘制 一、实验题目:(实验习题1-2) 利用参数方程作图,做出由下列曲面所围成的立体图形: (1) x y x y x z =+--=2222,1及xOy 平面; (2) 01,=-+=y x xy z 及.0=z 二、实验目的和意义 1、利用数学软件Mathematica 绘制三维图形来观察空间曲线和空间曲面图形的特点,以加强几何的直观性。 2、学会用Mathematica 绘制空间立体图形。 三、程序设计 空间曲面的绘制 作参数方程] ,[],,[,),(),(),(max min max min v v v u u v u z z v u y y v u x x ∈∈?????===所确定的曲面图形的Mathematica 命令为: ParametricPlot3D[{x[u,v],y[u,v],z[u,v]},{u,umin,umax}, {v,vmin,vmax},选项] (1) (2)

四、程序运行结果 (1) (2) 五、结果的讨论和分析 1、通过参数方程的方法做出的图形,可以比较完整的显示出空间中的曲面和立体图形。 2、可以通过mathematica 软件作出多重积分的积分区域,使积分能够较直观的被观察。 3、从(1)中的实验结果可以看出,所围成的立体图形是球面和圆柱面所围成的立体空间。 4、从(2)中的实验结果可以看出围成的立体图形的上面曲面的方程是xy z =,下底面的方程是z=0,右边的平面是01=-+y x 。 实验一 空间曲线与曲面的绘制 一、实验题目:(实验习题1-3) 观察二次曲面族kxy y x z ++=22的图形。特别注意确定k 的这样一些值,当k 经过这些值时,曲面从一种类型变成了另一种类型。 二、实验目的和意义 1. 学会利用Mathematica 软件绘制三维图形来观察空间曲线和空间曲线图形的特

MATLAB数学实验报告

Matlab 数学实验报告

一、实验目的 通过以下四组实验,熟悉MATLAB的编程技巧,学会运用MATLAB的一些主要功能、命令,通过建立数学模型解决理论或实际问题。了解诸如分岔、混沌等概念、学会建立Malthu模型和Logistic 模型、懂得最小二乘法、线性规划等基本思想。 二、实验内容 2.1实验题目一 2.1.1实验问题 Feigenbaum曾对超越函数y=λsin(πx)(λ为非负实数)进行了分岔与混沌的研究,试进行迭代格式x k+1=λsin(πx k),做出相应的Feigenbaum图 2.1.2程序设计 clear;clf; axis([0,4,0,4]); hold on for r=0:0.3:3.9 x=[0.1]; for i=2:150 x(i)=r*sin(3.14*x(i-1)); end pause(0.5) for i=101:150

plot(r,x(i),'k.'); end text(r-0.1,max(x(101:150))+0.05,['\it{r}=',num2str(r)]) end 加密迭代后 clear;clf; axis([0,4,0,4]); hold on for r=0:0.005:3.9 x=[0.1];

for i=2:150 x(i)=r*sin(3.14*x(i-1)); end pause(0.1) for i=101:150 plot(r,x(i),'k.'); end end 运行后得到Feigenbaum图

2.2实验题目二 2.2.1实验问题 某农夫有一个半径10米的圆形牛栏,长满了草。他要将一头牛拴在牛栏边界的桩栏上,但只让牛吃到一半草,问拴牛鼻子的绳子应为多长? 2.2.2问题分析 如图所示,E为圆ABD的圆心,AB为拴牛的绳子,圆ABD为草场,区域ABCD为牛能到达的区域。问题要求区域ABCD等于圆ABC 的一半,可以设BC等于x,只要求出∠a和∠b就能求出所求面积。先计算扇形ABCD的面积,2a÷π×πx2=2aπ2,再求AB的面积,用扇形ABE的面积减去三角形ABE的面积即可。

MATLAB_实验04 多元函数微积分

实验04 多元函数微积分 一实验目的 (2) 二实验内容 (2) 三实验准备 (2) 四实验方法与步骤 (3) 五练习与思考 (7)

一 实验目的 1 了解多元函数、多元函数积分的基本概念,多元函数的极值及其求法; 2 理解多元函数的偏导数、全微分等概念,掌握积分在计算空间立体体积或表面积等问题中的应用; 3 掌握MATLAB 软件有关求导数的命令; 4 掌握MATLAB 软件有关的命令. 二 实验内容 1 多元函数的偏导数,极值; 2 计算多元函数数值积分; 3计算曲线积分,计算曲面积分. 三 实验准备 1 建立符号变量命令为sym 和syms ,调用格式为: x=sym('x') 建立符号变量x ; syms x y z 建立多个符号变量x ,y ,z ; 2 matlab 求导命令diff 的调用格式: diff(函数(,)f x y ,变量名x) 求(,)f x y 对x 的偏导数 f x ??; diff(函数(,)f x y ,变量名x,n) 求(,)f x y 对x 的n 阶偏导数n n f x ??; 3 matlab 求雅可比矩阵命令jacobian 的调用格式: jacobian([f;g;h],[],,x y z )给出矩阵 f f f x y z g g g x y z h h h x y z ????? ???? ? ???? ???? ? ???? ?????? 4 MATLAB 中主要用int 进行符号积分,常用格式如下: ① int(s)表示求符号表达式s 的不定积分 ② int(s,x)表示求符号表达式s 关于变量x 的不定积分 ③ int(s,a,b)表示求符号表达式s 的定积分,a ,b 分别为积分的上、下限 ④ int(s,x,a,b)表示求符号表达式s 关于变量x 的定积分,a,b 分别为积分的上、下限 5 MATLAB 中主要用trapz,quad,quad8等进行数值积分,常用格式如下: ① trapz(x,y)采用梯形积分法,其中x 是积分区间的离散化向量,y 是与x 同维数的向量、用来表示被积函数. ② quad8('fun',a,b,tol)采用变步长数值积分,其中fun 为被积函数的M 函数名,a,b 分别为积分上、下限,tol 为精度,缺省值为1e-3. ③ dblquad('fun',a,b,c,d)表示求矩形区域的二重数值积分,其中fun 为被积函数的

高等数学实验报告matlab

西安交通大学 高等数学 实验报告 班级 组员与学号 2013年

实验名称:学生成绩管理 一、实验目的 二、实验内容 三、详细编程 clear for i=1:10 a{i}=89+i; b{i}=79+i; c{i}=69+i; d{i}=59+i; end c=[d,c]; Name=input('please input name:'); Score=input('please input score:'); n=length(Score); Rank=cell(1,n); S=struct('Name',Name,'Score',Score,'Rank',Rank); for i=1:n switch S(i).Score case 100 S(i).Rank='满分'; case a S(i).Rank='优秀'; case b S(i).Rank='良好'; case c S(i).Rank='及格'; otherwise S(i).Rank='不及格'; end end disp(['学生姓名 ','得分 ','等级']);

for i=1:n disp([S(i).Name,blanks(6),num2str(S(i).Score),blanks(6),S(i).Rank]); end s=0; for i=1:n s=S(i).Score+s; end averscore=s/n; t=S(1).Score; for i=1:(n-1) if(S(i).ScoreS(i+1).Score) m=S(i+1).Score; end end disp(['平均成绩']); disp([averscore]); disp(['最高分']); disp(t); disp(['最低分']); disp(m); 四、实验结果

数学实验4答案

第四次练习题 1、 编程找出 5,1000+=≤b c c 的所有勾股数,并问:能否利用通项表示 },,{c b a ? >> for b=1: 995 a=sqrt((b+5)^2-b^2); if(a==floor(a)) fprintf('a=%i,b=%i,c=%i\n',a,b,b+5) end end a=15,b=20,c=25 a=25,b=60,c=65 a=35,b=120,c=125 a=45,b=200,c=205 a=55,b=300,c=305 a=65,b=420,c=425 a=75,b=560,c=565 a=85,b=720,c=725 a=95,b=900,c=905 >> for c=6:1000 a=sqrt(c^2-(c-5)^2); if(a==floor(a)) fprintf('a=%i,b=%i,c=%i\n',a,c-5,c) end end a=15,b=20,c=25 a=25,b=60,c=65 a=35,b=120,c=125 a=45,b=200,c=205 a=55,b=300,c=305 a=65,b=420,c=425 a=75,b=560,c=565 a=85,b=720,c=725 a=95,b=900,c=905 {a,b,c}={100*n^2-100*n+25,10*n^2-10*n,10*n^2-10*n+5} 2、编程找出不定方程 )35000(122<-=-y Dy x 的所有正整数解。(学号为单号的取D=2, 学号为双号的取D=5) D=2(学号为单号) >> for y=1:34999 x=sqrt(2*y^2-1); if(x==floor(x)) fprintf('x=%i,y=%i\n',x,y) end

数学实验报告格式

《数学实验》实验报告 (2012 年03 月30 日) 班级:09级四班学号:姓名:吴永慧 一、实验问题 1、某公司指派5个员工到5个城市工作(每个城市单独一人),希望使所花费的总电话费用尽可能少。5个员工两两之间每个月通话的时间表示在下面的矩阵的上三角部分(因为通话的时间矩阵是对称的,没有必要写出下三角部分),5个城市两两之间通话费率表示在下面的矩阵的下三角部分(同样道理,因为通话的费率矩阵是对称的,没有必要写出上三角部分). 试求解该二次指派问题。 通话时间d=[0 1 1 2 3 1 0 2 1 2 1 2 0 1 2 2 1 1 0 1 3 2 2 1 0 ] 城市间通话费率 c=[0 5 2 4 1 5 0 3 0 2 2 3 0 0 0 4 0 0 0 5 1 2 0 5 0] 2、某校毕业生必须至少修:两门数学课、三门运筹学课、两门计算机课。 1)某学生希望所修课程最少。 2)某学生希望课程少学分多。 3)某学生觉得学分数和课程数这两大目标大致应该三七开。 3、某储蓄所营业时间为上午9:00--下午5:00,储蓄所可以雇佣两类服务员: 全职:每天100元中午12:00--下午2:00之间必须安排1小时的午餐时间 半职:每人40 元必须连续工作4小时 1)储蓄所每天雇佣的半职服务员不超过3人,为使花费最少该如何雇佣两类服务员。 2)如果不能雇佣半时服务员,花费多少? 3)如果雇佣半时服务员没有人数限制花费多少?

二、问题的分析(涉及的理论知识、数学建模与求解的方法等) 1、用???=城市人不去城市人去了k 0k 1 i i x ik (i =1...5) ???=城市人没去城市人去了h j h j x jh 01 (i =1...5) ij d 表示i 和j 的通话时间;kh c 表示城市k 和h 之间的费率,数学模型: min jh ik i j k h ij kh x x d c ∑∑∑∑====5151515 1 s.t.???????????========∑∑∑∑====5 151515 1 5 ...115...115...115 (11) h jh j jh k ik i ik j x k x i x k x ik x 、jh x 均为0、1变量 2、用???=该学生不选该课程该学生选了该课程01 i x (i =1...9) 1) 数学模型:min Z=∑=91i i x

东华大学MATLAB数学实验第二版答案(胡良剑)

东华大学M A T L A B数学实验第二版答案(胡良 剑) -CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN

数学实验答案 Chapter 1 Page20,ex1 (5) 等于[exp(1),exp(2);exp(3),exp(4)] (7) 3=1*3, 8=2*4 (8) a为各列最小值,b为最小值所在的行号 (10) 1>=4,false, 2>=3,false, 3>=2, ture, 4>=1,ture (11) 答案表明:编址第2元素满足不等式(30>=20)和编址第4元素满足不等式(40>=10) (12) 答案表明:编址第2行第1列元素满足不等式(30>=20)和编址第2行第2列元素满足不等式(40>=10) Page20, ex2 (1)a, b, c的值尽管都是1,但数据类型分别为数值,字符,逻辑,注意a与c 相等,但他们不等于b (2)double(fun)输出的分别是字符a,b,s,(,x,)的ASCII码 Page20,ex3 >> r=2;p=0.5;n=12; >> T=log(r)/n/log(1+0.01*p) Page20,ex4 >> x=-2:0.05:2;f=x.^4-2.^x; >> [fmin,min_index]=min(f) 最小值最小值点编址 >> x(min_index) ans = 0.6500 最小值点 >> [f1,x1_index]=min(abs(f)) 求近似根--绝对值最小的点 f1 = 0.0328 x1_index = 24 >> x(x1_index) ans = -0.8500 >> x(x1_index)=[];f=x.^4-2.^x; 删去绝对值最小的点以求函数绝对值次小的点>> [f2,x2_index]=min(abs(f)) 求另一近似根--函数绝对值次小的点 f2 = 0.0630 x2_index = 65 >> x(x2_index) ans =

数学实验(MATLAB版韩明版)5.1,5.3,5.5,5.6部分答案

练习 B的分布规律和分布函数的图形,通过观1、仿照本节的例子,分别画出二项分布()7.0,20 察图形,进一步理解二项分布的性质。 解:分布规律编程作图:>> x=0:1:20;y=binopdf(x,20,; >> plot(x,y,'*') 图像: y x 分布函数编程作图:>> x=0::20; >>y=binocdf(x,20, >> plot(x,y) 图像: 《

1 x 观察图像可知二项分布规律图像像一条抛物线,其分布函数图像呈阶梯状。 2、仿照本节的例子,分别画出正态分布()25,2N的概率密度函数和分布函数的图形,通过观察图形,进一步理解正态分布的性质。 解:概率密度函数编程作图:>> x=-10::10; >> y=normpdf(x,2,5); >> plot(x,y) 图像:

00.010.020.030.040.050.060.070.08x y 分布函数编程作图:>> x=-10::10; >> y=normcdf(x,2,5); ~ >> plot(x,y) 图像:

01x y 观察图像可知正态分布概率密度函数图像像抛物线,起分布函数图像呈递增趋势。 3、设()1,0~N X ,通过分布函数的调用计算{}11<<-X P ,{}22<<-X P , {}33<<-X P . 解:编程求解: >> x1=normcdf(1)-normcdf(-1),x2=normcdf(2)-normcdf(-2),x3=normcdf(3)-normcdf(-3) x1 = x2 = ) x3 = 即:{}6827.011=<<-X P ,{}9545.022=<<-X P ,{}9973.033=<<-X P . 4、设()7.0,20~B X ,通过分布函数的调用计算{}10=X P 与{}10> x1=binopdf(10,20,,x2=binocdf(10,20,-binopdf(10,20, x1 = x2 =

《数学实验》报告matlab-第五次作业

《数学实验》报告 实验名称 matlab拟合与插值学院机械工程学院 专业班级 姓名 学号

2011年 10月

一、【实验目的】 掌握Matlab关于采用最小二乘法拟合曲线的方法。学会使用matlab求实际中得到数据的插值曲线。 二、【实验任务】 P130第8、10、12题 三、【实验程序】 P130第8题: x=[0.10,0.30,0.40,0.55,0.70,0.80,0.95]; y=[15,18,19,21,22.6,23.8,26]; p1=polyfit(x,y,1); p3=polyfit(x,y,3); p5=polyfit(x,y,5); disp('一阶拟合函数'),f1=poly2str(p1,'x') disp('三阶拟合函数'),f3=poly2str(p3,'x') disp('五阶拟合函数'),f5=poly2str(p5,'x') x1=0.1:0.0017:0.95; y1=polyval(p1,x1); y3=polyval(p3,x1); y5=polyval(p5,x1); plot(x,y,'rp',x1,y1,'--',x1,y3,'k-.',x1,y5); legend('拟合点','一次拟合','三次拟合','七次拟合') P130第10题 x=[10,15,20,25,30]; y=[25.2,29.8,31.2,31.7,29.4]; xi=10:.5:30; yi1=interp1(x,y,xi,'*nearest'); yi2=interp1(x,y,xi,'*linear'); yi3=interp1(x,y,xi,'*spline'); yi4=interp1(x,y,xi,'*cubic'); plot(x,y,'ro',xi,yi1,'--',xi,yi2,'-',xi,yi3,'k.-',xi,yi4,'m:') ,grid on

基于MATLAB的微积分数值计算实验报告

基于MATLAB 的微积分数值计算 一.请编程计算以下极限 1 、0ln(lim tan x x x x →+ 【程序代码】 syms x; y=log(x+sqrt(1+x^2))/(x+tan(x)); limit(y,x,0) ans = 1/2 2、1 lim (3)x x x e x →∞? ?+-???? 【程序代码】 syms x; y=(x+3)*exp(1/x)-x; limit(y,x,inf) ans = 4 3、0lim x x x +→ 【程序代码】 syms x; y=x^x; limit(y,x,0,'right') ans = 1 4、22200 sin() lim x y x y x y →→+

【程序代码】 syms x y; f=sin(x^2*y)/(x^2+y^2); limit(limit(f,x,0),y,0) ans = 二.求下列函数的导数 1、求3 x y = 【程序代码】 syms x; y=(exp(x^3)-1)/(1-cos(sqrt(x-sin(x)))); yd=diff(y,x) yd = 3*x^2*exp(x^3)/(1-cos((x-sin(x))^(1/2)))-1/2*(exp(x^3)-1)/(1-cos((x-sin(x))^(1/2)))^2*sin((x-sin(x))^(1/2))/(x-sin(x))^(1/2)*(1-cos(x)) 2、求(1)sin x a b y x x x =+的一阶导数、二阶导数 【程序代码】 syms x a b; y=x*(1+a/x)^x*sin(b/x); y1=diff(y,x) y2=diff(y,x,2) y1 = (1+a/x)^x*sin(b/x)+x*(1+a/x)^x*(log(1+a/x)- 1/x*a/(1+a/x))*sin(b/x)-1/x*(1+a/x)^x*cos(b/x)*b y2 = 2*(1+a/x)^x*(log(1+a/x)- 1/x*a/(1+a/x))*sin(b/x)+x*(1+a/x)^x*(log(1+a/x)- 1/x*a/(1+a/x))^2*sin(b/x)-1/x^2*(1+a/x)^x*a^2/(1+a/x)^2*sin(b/x)-2/x*(1+a/x)^x*(log(1+a/x)-1/x*a/(1+a/x))*cos(b/x)*b- 1/x^3*(1+a/x)^x*sin(b/x)*b^2 3、求arctan x z y =的二阶偏导数 【程序代码】 syms x y;

相关文档
相关文档 最新文档