当前位置:文档之家› matlab数学实验胡良剑第四章

matlab数学实验胡良剑第四章

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

第四章

%Exercise 1(1)

p=[1 1 1];

x=roots(p)

polyval(p,x) %验算,结果应为零

%Exercise 1(2)

roots([3 0 -4 0 2 -1])

%Exercise 1(3)

p=zeros(1,24);

p([1 17 18 22])=[5 -6 8 -5]; %这样比直接写24个系数简短。x=roots(p)

polyval(p,x) %验算,结果应为零

%Exercise 1(4)

p1=[2 3];

p2=conv(p1, p1);

p3=conv(p1, p2);

p3(end)=p3(end)-4; %原p3最后一个分量-4

x=roots(p3)

polyval(p3,x) %验算,结果应为零

%Exercise 2

fun=inline('x*log(sqrt(x^2-1)+x)-sqrt(x^2-1)-0.5*x');

fzero(fun,2) %注意定义域,初值须大于1

%Exercise 3

fun=inline('x^4-2^x');

fplot(fun,[-2 2]);grid on;

fzero(fun,-1),fzero(fun,1),fminbnd(fun,0.5,1.5)

%Exercise 4

fun=inline('x*sin(1/x)','x');

fplot(fun, [-0.1 0.1]);

x=zeros(1,10);for i=1:10, x(i)=fzero(fun,(i-0.5)*0.01);end;

x=[x,-x]

%Exercise 5

fun=inline('[9*x(1)^2+36*x(2)^2+4*x(3)^2-36;x(1)^2-2*x(2)^2-20*x(3);16*x(1)-x(1)^3-2*x(2)^2-1 6*x(3)^2]','x');

[a,b,c]=fsolve(fun,[0 0 0])

%Exercise 6

fun=@(x)[x(1)-0.7*sin(x(1))-0.2*cos(x(2)),x(2)-0.7*cos(x(1))+0.2*sin(x(2))];

[a,b,c]=fsolve(fun,[0.5 0.5]) %初值0

%Exercise 7

clear; close; t=0:pi/100:2*pi;

x1=2+sqrt(5)*cos(t); y1=3-2*x1+sqrt(5)*sin(t);

x2=3+sqrt(2)*cos(t); y2=6*sin(t);

plot(x1,y1,x2,y2); grid on; %作图发现4个解的大致位置,然后分别求解

y1=fsolve('[(x(1)-2)^2+(x(2)-3+2*x(1))^2-5,2*(x(1)-3)^2+(x(2)/3)^2-4]',[1.5,2])

y2=fsolve('[(x(1)-2)^2+(x(2)-3+2*x(1))^2-5,2*(x(1)-3)^2+(x(2)/3)^2-4]',[1.8,-2])

y3=fsolve('[(x(1)-2)^2+(x(2)-3+2*x(1))^2-5,2*(x(1)-3)^2+(x(2)/3)^2-4]',[3.5,-5])

y4=fsolve('[(x(1)-2)^2+(x(2)-3+2*x(1))^2-5,2*(x(1)-3)^2+(x(2)/3)^2-4]',[4,-4])

%Exercise 8(1)

clear;

str='x.^2.*sin(x.^2-x-2)'; %注意数组点运算

fun=inline(str);

fplot(fun,[-2 2]);grid on; %作图观察

x(1)=-2;

x(3)=fminbnd(fun,-1,-0.5);

x(5)=fminbnd(fun,1,2);

fun2=inline(['-',str]);

x(2)=fminbnd(fun2,-2,-1);

x(4)=fminbnd(fun2,-0.5,0.5);

x(6)=2

feval(fun,x)

%答案: 以上x(1)(3)(5)是局部极小,x(2)(4)(6)是局部极大,从最后一句知道x(1)全局最小,x(2)最大。

%Exercise 8(2)

clear;

fun=inline('3*x.^5-20*x.^3+10');

fplot(fun,[-3 3]);grid on;%作图观察

x(1)=-3;

x(3)=fminsearch(fun,2.5);

fun2=inline('-(3*x.^5-20*x.^3+10)');

x(2)=fminsearch(fun2,-2.5);

x(4)=3;

feval(fun,x)

%Exercise 8(3)

fun=inline('abs(x^3-x^2-x-2)');

fplot(fun,[0 3]);grid on;%作图观察

fminbnd(fun,1.5,2.5)

fun2=inline('-abs(x^3-x^2-x-2)');

fminbnd(fun2,0.5,1.5)

%Exercise 9

close;

x=-2:0.1:1;y=-7:0.1:1;

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

z=y.^3/9+3*x.^2.*y+9*x.^2+y.^2+x.*y+9;

mesh(x,y,z);grid on;%作图观察, 可看到[0 0]附近极小值,[0 -5]附近极大值fun=inline('x(2)^3/9+3*x(1)^2*x(2)+9*x(1)^2+x(2)^2+x(1)*x(2)+9');

x=fminsearch(fun,[0 0])%求极小值

fun2=inline('-(x(2)^3/9+3*x(1)^2*x(2)+9*x(1)^2+x(2)^2+x(1)*x(2)+9)');

x=fminsearch(fun2,[0 -5])%求极大值

%Exercise 10

clear;t=0:24;

c=[15 14 14 14 14 15 16 18 20 22 23 25 28 ...

31 32 31 29 27 25 24 22 20 18 17 16];

%第(1)小题

p2=polyfit(t,c,2)

%第(2)小题

p3=polyfit(t,c,3)

%第(3)小题非线性拟合法

fun=inline('a(1)*exp(a(2)*(t-14).^2)','a','t');

a=lsqcurvefit(fun,[0 0],t,c)%初值可以试探,这里用a=0, b=0试探

f=feval(fun, a,t)

norm(f-c)%误差向量的范数,反映拟合效果

plot(t,c,'o',t,f) %作图检验

%第(3)小题线性化拟合方法

%先作对数变换lnf=lna+b*(t-14)^2

z=log(c);x=(t-14).^2;

p1=polyfit(x,z,1);

a=[exp(p1(2)),p1(1)]

f1=feval(fun, a,t)

norm(f1-c)%拟合效果

plot(t,c,'o',t,f1) %作图检验

%第(4)小题

fun2=inline('b(1)*sin(pi/12*t+b(2))+20','b','t');%原题修改为f(x)+20,结果较合理b=lsqcurvefit(fun2,[0 0],t,c)%初值可以试探,这里用a=0, b=0试探

figure

f2=feval(fun2, b,t)

norm(f2-c)%拟合效果

plot(t,c,'o',t,f2) %作图检验

%Exercise 11

fun=inline('(1-x)*sqrt(10.52+x)-3.06*x*sqrt(1+x)*sqrt(5)');

x=fzero(fun, 0, 1)

%Exercise 12

r=5.04/12/100;N=20*12;

x=7500*180 %房屋总价格

y=x*0.3 %首付款额

x0=x-y%贷款总额

a=(1+r)^N*r*x0/((1+r)^N-1)%月付还款额

%以下组合贷款

r1=4.05/12/100;x1=10*10000;%公积金贷款

a1=(1+r1)^N*r1*x1/((1+r1)^N-1)

x2=x0-x1%商业贷款

a2=(1+r)^N*r*x2/((1+r)^N-1)

a=a1+a2

%Exercise 13

%列方程th*R^2+(pi-2*th)*r^2-R*r*sin(th)=pi*r^2/2

%化简得sin(2*th)-2*th*cos(2*th)=pi/2

%以下Matlab计算

clear;fun= inline('sin(2*th)-2*th*cos(2*th)-pi/2','th')

th=fsolve(fun,pi/4)

R=20*cos(th)

%Exercise 14

%先在Editor窗口写M函数保存

function x=secant(fname,x0,x1,e)

while abs(x0-x1)>e,

x=x1-(x1-x0)*feval(fname,x1)/(feval(fname,x1)-feval(fname,x0)); x0=x1;x1=x;

end

%再在指令窗口

fun=inline('x*log(sqrt(x^2-1)+x)-sqrt(x^2-1)-0.5*x');

secant(fun,1,2,1e-8)

%Exercise 15

%作系数为a,初值为xo,从第m步到第n步迭代过程的M函数:function f=ex4_15fun(a,x0,m,n)

x(1)=x0; y(1)=a*x(1)+1;x(2)=y(1);

if m<2, plot([x(1),x(1),x(2)],[0,y(1),y(1)]);hold on; end

for i=2:n

y(i)=a*x(i)+1; x(i+1)=y(i);

if i>m, plot([x(i),x(i),x(i+1)],[y(i-1),y(i),y(i)]); end

end

hold off;

%M脚本文件

subplot(2,2,1);ex4_15fun(0.9,1,1,20);

subplot(2,2,2);ex4_15fun(-0.9,1,1,20);

subplot(2,2,3);ex4_15fun(1.1,1,1,20);

subplot(2,2,4);ex4_15fun(-1.1,1,1,20);

%Exercise 16

%设夹角t, 问题转化为min f=5/sin(t)+10/cos(t)

%取初始值pi/4, 计算如下

fun=@(t)5/sin(t)+10/cos(t);

[t,f]=fminsearch(fun, pi/4)

t =

0.6709

f =

20.8097

%Exercise 17

%提示:x(k+2)=f(x(k))=a^2*x(k)*(1-x(k))*(1-a*x(k)*(1-x(k)))

%计算平衡点x

%|f'(x)|<1则稳定

%Exercise 18

%先写M文件

function f=ex4_18(a,x0,n)

x=zeros(1,n);y=x;

x(1)=x0;

y(1)=a*x(1)+1;

x(2)=y(1);

plot([x(1),x(1),x(2)],[0,y(1),y(1)],'r');

hold on;

for i=2:n

y(i)=a*x(i)+1;

x(i+1)=y(i);

plot([x(i),x(i),x(i+1)],[y(i-1),y(i),y(i)])

end

hold off;

%再执行指令

>> ex4_18(0.9,1,20)

>> ex4_18(-0.9,1,20)

>> ex4_18(1.1,1,20)

>> ex4_18(-1.1,1,20)

%Exercise 19

clear; close; x(1)=0; y(1)=0;

for k=1:3000

x(k+1)=1+y(k)-1.4*x(k)^2; y(k+1)=0.3*x(k); end

plot(x(1000:1500),y(1000:1500),'+g');hold on plot(x(1501:2000),y(1501:2000),'.b');

plot(x(2001:2500),y(2001:2500),'*y');

plot(x(2501:3001),y(2501:3001),'.r');

数学实验答案-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数学实验报告一

数学软件课程设计 题目非线性方程求解 班级数学081 姓名曹曼伦

实验目的:用二分法与Newton迭代法求解非线性方程的根; 用Matlab函数solve、fzero、fsolve求解非线性方程(组)的解。 编程实现二分法及Newton迭代法; 学会使用Matlab函数solve、fzero、fsolve求解非线性方程(组)的解。 通过实例分别用二分法及迭代法解非线性方程组并观察收敛速度。 实验内容: 比较求exp(x)+10*x-2的根的计算量。(要求误差不超过十的五次方) (1)在区间(0,1)内用二分法; (2)用迭代法x=(2-exp(x))/10,取初值x=0 。 试验程序 (1)二分法: format long syms x s=exp(x)+10*x-2 a=0; b=1; A=subs(s,a) B=subs(s,b) f=A*B %若f<0,则为由根区间 n=0; stop=1.0e-5; while f<0&abs(a-b)>=stop&n<=100; Xk=(a+b)/2; %二分 M= subs(s, Xk); if M* A<0 symbol=1 %若M= subs(s, Xk)为正,则与a二分 b= Xk else symbol=0 % 若M= subs(s, Xk)为负,则与b二分 a= Xk end n=n+1 end Xk n (2)牛顿迭代法; format long

syms x s= (2-exp(x))/10; %迭代公式 f=diff(s); x=0; %迭代初值 a=subs(f,x); %判断收敛性(a是否小于1) s=(2-exp(x))/10; stop=1.0e-5; %迭代的精度 n=0; while a<1&abs(s-x)>=stop&n<=100; x=s %迭代 s=(2-exp(x))/10; n=n+1 end 实验结果: (1)二分法: symbol =1 b =0.50000000000000 n =1 symbol =1 b =0.25000000000000 n =2 symbol =1 b =0.12500000000000 n =3 symbol =0 a =0.06250000000000 n =4 symbol =1 b =0.09375000000000 n =5 symbol =0 a =0.07812500000000 n =6 symbol =1 b =0.09054565429688 n =15 symbol =1 b =0.09053039550781 n =16 symbol =0 a =0.09052276611328 n =17 Xk =0.09052276611328 n =17 (2)迭代法 由x =0.10000000000000 n =1 x =0.08948290819244 n =2 x =0.09063913585958 n =3 x =0.09051261667437 n =4 x =0.09052646805264 n =5 试验结果可见用二分法需要算17次,而用迭代法求得同样精度的解仅用5次,但由于迭代法一般只具有局部收敛性,因此通常不用二分法来求得非线性方程的精确解,而只用它求得根的一个近似解,再用收敛速度较快的迭代法求得其精确解。

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实验三 不定积分、定积分及其应用 实验指导书

实验三 不定积分、定积分及其应用 【实验类型】验证性 【实验学时】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实验报告

实验一 MATLAB 环境的熟悉与基本运算 一、实验目的及要求 1.熟悉MATLAB 的开发环境; 2.掌握MATLAB 的一些常用命令; 3.掌握矩阵、变量、表达式的输入方法及各种基本运算。 二、实验内容 1.熟悉MATLAB 的开发环境: ① MATLAB 的各种窗口: 命令窗口、命令历史窗口、工作空间窗口、当前路径窗口。 ②路径的设置: 建立自己的文件夹,加入到MATLAB 路径中,并保存。 设置当前路径,以方便文件管理。 2.学习使用clc 、clear ,了解其功能和作用。 3.矩阵运算: 已知:A=[1 2;3 4]; B=[5 5;7 8]; 求:A*B 、A.*B ,并比较结果。 4.使用冒号选出指定元素: 已知:A=[1 2 3;4 5 6;7 8 9]; 求:A 中第3列前2个元素;A 中所有列第2,3行的元素; 5.在MATLAB 的命令窗口计算: 1) )2sin(π 2) 5.4)4.05589(÷?+ 6.关系及逻辑运算 1)已知:a=[5:1:15]; b=[1 2 8 8 7 10 12 11 13 14 15],求: y=a==b ,并分析结果 2)已知:X=[0 1;1 0]; Y=[0 0;1 0],求: x&y+x>y ,并分析结果 7.文件操作 1)将0到1000的所有整数,写入到D 盘下的文件 2)读入D 盘下的文件,并赋给变量num

8.符号运算 1)对表达式f=x 3 -1 进行因式分解 2)对表达式f=(2x 2*(x+3)-10)*t ,分别将自变量x 和t 的同类项合并 3)求 3(1)x dz z +? 三、实验报告要求 完成实验内容的3、4、5、6、7、8,写出相应的程序、结果

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数学实验答案(全)

第一次练习 教学要求:熟练掌握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).

实验一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)

数学实验报告

高等数学数学实验报告 实验人员:院(系) __ __学号____姓名_ __ 实验地点:计算机中心机房 实验一 空间曲线与曲面的绘制 一、实验题目:(实验习题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 为被积函数的

数学实验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数学实验复习题(有答案)

复习题 1、写出3个常用的绘图函数命令 2、inv (A )表示A 的逆矩阵; 3、在命令窗口健入clc 4、在命令窗口健入 clear 5、在命令窗口健入6、x=-1:0.2:17、det (A )表示计算A 的行列式的值;8、三种插值方法:拉格朗日多项式插值,分段线性插值,三次样条插值。 9、若A=123456789?? ???????? ,则fliplr (A )= 321654987?? ???????? A-3=210123456--??????????A .^2=149162536496481?????? ???? tril (A )=100450789?? ???????? triu (A ,-1)=123456089??????????diag (A )=100050009?? ???? ???? A(:,2),=258A(3,:)=369 10、normcdf (1,1,2)=0.5%正态分布mu=1,sigma=2,x=1处的概率 [t,x]=ode45(f,[a,b],x0),中参数的涵义是fun 是求解方程的函数M 文件,[a,b]是输入向量即自变量的围a 为初值,x0为函数的初值,t 为输出指定function 开头;17、二种数值积分的库函数名为:quad;quadl

4 3,4 21、设x )的功能是作出将X 十等分的直方图 22、interp1([1,2,3],[3,4,5],2.5) Ans=4.5 23、建立一阶微分方程组???+='-='y x t y y x t x 34)(3)(2 的函数M 文件。(做不出来) 二、写出运行结果: 1、>>eye(3,4)=1000 01000010 2、>>size([1,2,3])=1;3 3、设b=round (unifrnd (-5,5,1,4)),则=3 5 2 -5 >>[x,m]=min(b);x=-5;m=4 ,[x,n]=sort(b) -5 2 3 5 4 3 1 2 mean(b)=1.25,median (b )=2.5,range (b )=10 4、向量b 如上题,则 >>any(b),all(b<2),all(b<6) Ans=1 0 1 5、>>[5 6;7 8]>[7 8;5 6]=00 11 6、若1234B ?? =?? ??,则 7、>>diag(diag(B))= 10 04 8、>>[4:-2:1].*[-1,6]=-4 12 9、>>acos(0.5),atan(1) ans= 1.6598 ans= 0.7448 10、>>norm([1,2,3]) Ans=3.3941 11、>>length ([1,3,-1])=3

数学实验(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

西安交通大学 高等数学 实验报告 班级 组员与学号 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); 四、实验结果

相关主题
文本预览
相关文档 最新文档