matlab文件数学建模作业docx.docx
- 文档编号:26296802
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:21
- 大小:185.31KB
matlab文件数学建模作业docx.docx
《matlab文件数学建模作业docx.docx》由会员分享,可在线阅读,更多相关《matlab文件数学建模作业docx.docx(21页珍藏版)》请在冰豆网上搜索。
matlab文件数学建模作业docx
1.1
(1)代码:
symsx;m=433;limit((m*x-sin(m*x))/(xA3),^0)结果:
ans=81182737/6
(2)代码:
symsx;m=433;limit((m*x-sin(m*x))/(xA3)/x/Inf)结果:
ans=0
1.2
代码:
symsx;m=433;
y=exp(x)*cos(m*x/1000);
diff(y,x,2)
结果:
(812511*cos((433*x)/1000)*exp(x))/1000000-(433*sin((433*x)/1000)*exp(x))/500
1.3
代码:
dblquad(,exp(x.*x+y.*y)'/0/l/0/l)
结果:
ans=2.1394
1.4
代码:
symsx;m=433;
int(xA4/(mA2+4*x*x),x)
结東:
(81182737*atan((2*x)/433))/32-(187489*x)/16+xA3/12
1.5
代码:
symsx;m=433;
diff(exp(x)*cos(m*x)/10)
结果:
-C231619285105554448813874688*cos(433*x)*exp(x)-5350116883610368850333216*sin(433*x)*exp(x)
1.6
代码:
symsx;m=433;
simple(taylor(sqrt(m/1000.0+x)/x/0/,Order,/5))
结果:
4330A(1/2)*(-(390625000*xA4)/35152125121+(625000*xA3)/81182737・(1250*xA2)/187489+(5*x)/433+1/100)
1.7
代码:
n二2;A二g];
whilen<20;A(n+1)=A(n)+A(n-l);n=n+l;end;
fprintf(,A=(,);
fori=l:
size(A/2);fprintf(%u,/A(i));if(i~=size(A/2))fprintf(7);end;end;
fprintfC)1);
结果:
ZV=(1J,2,3,5,8,13,21,34,55,89,144,233377,610,987,1597,2584,4181,6765)
1.8
代码:
m=433;A=[-2/l/l;0/2/0;-4/l/m/1000];
0.2720+0.3550i
0
0.8944
D:
-0.7835+1.5875i
0
0
0
-0.7835-1.5875i0
0
0
2.0000
行列式:
6.2680
A6:
37.44636.6384
-7.3857
064.0000
0
29.5429-7.3857
19.4769
特征向量:
P的列向量
特征值:
与P的列向量同列的D的对角线的值为对应的特征值
1.9
f.m
functiony二f(x)
if(x>=0&&x<=0.5);y=2*x;elseif(x>0.5&&x<=l);y=2*(l-x);else;y=NaN;end;
1.10
代码:
t=0:
0.01*pi:
6*pi;
plot3(cos(t)zsinm/jholdon;gridon;
plot3(2*cos(t)/2*sin(t)/t/k,);
1.11
代码:
m=433;A=[4r2/2;-3A5;l/5*m/3];B=[l/3A-2/0/-3;2rl/l];
det(A)/2*A-B/A*B/A.*B/A*BA(-l)/inv(A)*B/AA2/A,
结果:
(1)det(a):
-56318
(2)2A-B:
A*B:
A*B:
7
■7
0|1210
24
|4-6
8
■4
0
13|7-14
-7
|60
-15
0
4331
5|-43230
-6488
I2-2165
3
AB-1:
A・】B:
A2
0
0
2|0.3465
0.5765
1.0000I24
4322
-2.7
-8
-8.1|0.0010
-0.0012
-0.0000|-7
10831
1236.7
2163
1545.1|-0.1921
0.3459
0.0000I-6488
■
6493
AT:
4
■3
1
-2
0
2165
2
5
3
4
9
10836
1.12
⑴
x=-3:
0.1:
3;m=433;a=m/600;
f=@(x,a,b)l/sqrt(2*pi)/a*exp(-(x-b).A2./(2*a*a));plot(x,f(xaO»;holdon;
plot&,f&a-i));holdon;
plot(x,f(xai));
⑵
x二二433;
f=@(x/a/b)l/sqrt(2*pi)/a*exp(-(x-b).A2./(2*a*a));plot(x,f(x,l,0));holdon;plot(x,f&20»;holdon;plot(x,f(xAO));holdon;
pIot(x,f(x,m/100r0));
1.13
m=433;ezmesh('433*x.*x+yA4,,30);coIorm叩([OQlj);
1.14
绘图
m=433;x=-2:
0.01:
2;
y=x.A5-m/200*x-0.1;
plot(x,y);gridon;
求根
vpa(solve(y),3)
得根为:
1.22,-0.0462,-1.2
求单调区间:
vpa(solve(diff(y))z3)
得:
0.811,-0.811
根据图象:
单调增区间为(・8,-0.811)40.811,+8)单调减区间为:
(-0.811A811)
推理:
当x<-0.811是"的导数大于0,故递增;-0.811
x=-0.811和0.811为函数的极大点和极小点,极小值小于0,极大值大于0,x趋近于正无穷时,y趋近于正无穷,x趋近于负无穷时,y趋近于负无穷,根据零点定理,只有所求的3个解。
体会:
利用计算机可以方便的分析函数。
1.15
画图:
m二433;f二@(x)exp(x)-3*m*x./K2;
x=-10:
0.1:
14;plot(xzf(x));gridon;
求解:
fsolve(f,[-5,20])
得到解为:
-0.0274,12.1668
2.1
代码:
m=433;f=@(x)(x+m/x)/2;
x=3;
fork=l:
12;x=f(x);fprintf('%8.8g,,x);end;fprintf('\n,);
结果:
73.66666739.77224725.32961821.21211520.81248920.80865220.80865220.808652
20.80865220.80865220.80865220.808652
所以{x』收敛,收敛于20.808652
2.2
(1)求不动点
m二433;symsx;vpa(solve(x*x+m*x・x+l),3)
得不动点为-0.0231和・432
fun.m函数的收敛点
functiony=fun(x)
m=433;f=@(t)(t-l)./(t+m);lastx=x;
fork=l:
100;lastx=x;x=f(x);if(x==lastx);y=vpa(xz3);return;end;end;y=NaN;
fun(1000)=-0.00231
fun(0)=-0.00231fun(10)=-0.00231
fun(-10)=-0.00231fun(-1000)=-0.00231fun(-432)=NaNfun(-433)=NaN
(2)求不动点
m二433;symsx;vpa(solve(x*x+m*x-x
得不动点为268.0和・700
fun.m函数的收敛点
functiony=fun(x)
m=433;f=@(t)(t+m*m)./(t+m);lastx=x;
fork=1:
100;lastx=x;x=f(x);if(abs(x==lastx)<0.000001);y=vpa(x/3);return;end;end;
y=NaN;
fun(0)=268.0fun(268.0)=268.0fun(1000)=268.0
fun(-1000)=268.0fun(-700)=268.0fun(-699.8853169977664947509765625)=-700
2.3
fun.m打印对应初值的x的迭代序列
functionfun(x)
f=@(m)((m>二0&m<=0.5)*2*m+(m>0.5&m<=l)*2*(l-m));fork=l:
100;x=f(x);fprintf('%7.4g'zx);
讦(mod(k/10)==0);fprintf('\n');end;end;
fun(pi/5):
0.74340.51330.97350.05310.10620.21240.42480.84950.30090.60180.79640.40730.81460.37080.74160.51680.96650.067080.13420.26830.53670.92670.14670.29330.58670.82660.34670.69350.6131077390.45220.90440.19120.38240.76480.47050.94090.11820.23630.47270.94530.10940.21880.4375
0
改变不同的初值,序列总是慢慢减小的波动并最后收敛于0,
所以不会产生混沌
2.4
绘制蛛网图:
funfunctionfun(xOq)f=@(x)a*x*(l-x);
x=[];y=[j;
x⑴=xo;x
(2)=xo;y(i)=o;y
(2)=f(xo);
fork二1:
50
X(k*2+l)=Y(k*2);X(k*2+2)=X(k*2+l);
y(k*2-»-l)=y(k*2);y(k*2+2)=f(y(k*2));
end
plot(X//);holdon;gridon;
ezplot(f,[0,l]);holdon;
ezplot('x',[0,l]);
经得到的X和Y分析:
a=3.3时,周期为2;a=3.5时,周期为4;*3.56时,周期为8;a=3.568时,周期为16;a=3.6时,周期为32;a=3.84时,周期为64。
绘图如下(按照顺序依次为)
2.5
按顺序依次为
2.6
若迭代函数收敛于rr0(l/3)则有170(1/3)二(a*mA(l/3)+b)/(c怙人(2/3)+d怙A(l/3)+e)整理得:
d*mA(2/3)+(e-a)mA(1/3)=b-C*m
设abc,d,e为靈薮,则d=0;e=a;b=c*m;
则对p,q则存在a二p,b二q*gc二q,d二0,e二a
即求出p,q即可
fun定义:
function[t,s]二fun(p,q,xO,m)
f=@(x)(p*x+q*m)/(q*x?
2+p);
y=[xO];t=NaN;s=NaN;
fork=l:
100;y(k+l)=f(y(k));if(abs(y(k+l)-y(k))<0.000001);t=k;s=y(k);return;end;end;fun可以求出对应P/q和初值即m形成的迭代数列的收敛值(t)和收敛步数(s)
⑴当p=84,q=2时a二84,b二866,c二2,d二0,e二84
xO
收敛于
收敛歩数
0
7.5654
51
6
7.5654
49
7.56
7.5654
36
7.565
7.5654
22
7.57
7.5654
30
8
7.5654
45
⑵当p=43,q=l时a=43,b=433,c=l,d=0,e=43
xO
收敛于
收敛歩数
0
7.5654
47
6
7.5654
45
7.56
7.5654
28
7.565
7.5654
20
7.57
7.5654
28
8
7.5654
41
可以看岀,迭代初值越贴近真实值,收敛速度越快体会:
利用计算机可以直观的观察规律
3.1
代码:
symsn;A=[4/2;l/3];xO=[l/2]';
[BD]=eig(A);
x=P*DAn*inv(P)*xO
结果:
x=(2*5An-25,25+5An)T
3.2
代码:
symsn;A=[0.4/0.2;0.1,0.3];x0=[l/2]';
[RD]=eig(A);
x=P*DAn*inv(P)*xO
结果-
x=(2*(l/2)An-(l/5)An/(l/2)An+(1/5)An)
3.3
代码:
symsnab;sym(a/real1);sym(b/real');
A=[4/2;l/3];xO=[a/bJ,;
[P,D]“ig(A);
x=P*D/vn*inv(P)*xO;
f=x
(2)/x(l);simple(limit(f/n/Inf))
结果•
寂限为:
0.5
3.4
absmax.m:
(找到绝对值最大的数)
functionmax=absmax(x)
max=x(l);
if(size(x/2)==l);x=x';end;
fort=x;ifabs(t)>abs(max)max=t;end;end
f.m(比较两个向量是否在一定精度内相等)
functiony二f(u,v,dim,d)
a=u-v;
fork=l:
dim
if(abs(a(k))>d)y=0;return;end;
end
y=l;
A二[2.1,3.4厂1.2,2.3;0.8,-0.3,4.1,2.&2.3,7.9,・1.5,1.4;3.5,7.乙1.7,・9.0];x=[l/2/3/4],;m=absmax(x);y=x/m;d=le-10;
fork=1:
100
lx=x;ly=y;lm=m;
x=A*ly;m=absmax(x);y=x/m;
if(f(x,lx,4,d)&f(y,ly,4,d)&abs(m-lm) x,y,m break; end end 上面代码寻找x,y,m稳走的地方 结果找g]- )^=(0.9819,3.2889,-1.2890,-11.2213)y二C0.0875厂0.29辽0.1149,1)m=-11.2213 3.5 代码: [RD]=eig(A)结果: P二 -0.3779 -0.8848 -0.0832 -0.3908 -0.5367 0.3575 -0.2786 0.4777 -0.6473 0.2988 0.1092 ・0.7442 -0.3874 -0.0015 0.9505 0.2555 7.2300 0 0 1.1352 0 00・11.22130 000-5.8439 P的列向量为特征向量,D的对角线上的值为对应的特征值 比较发现m为特征值中绝对值最大的一个,y为对应特征向量的1.0517倍所以结论成立 3.6 代码: A二[3/4,1/乙1/4;1/8,1/4,1/2;1/8,1/4,1/4]; p二[0.5,0.25,0.25]'; fori=l: 9p=A*p/end; 结果: pl二(0.5625,0.2500,0.1875)p2=(0.5938,0.2266,0.1797)p3=(0.6035z0.2207,0.1758)p4=(0.6069/0.2178/0.1741)p5=(0.6081/0.2178/0.1741)p6=(0.6085/0.2175/0.1740)P7=(0.6086,0.2174,0.1739)p8=(0.6087,0.2174,0.1739)p9=(0.6087,0.2174,0.1739)p最后趋近于(0.6087,0.2174,0.1739) 3.7 代码: [R叨=eig(A) 结果: p= -0.9094 -0.8069 0.3437 -0.3248 0.5116 -0.8133 -0.2598 0.2953 0.4695 1.0000 0 0 0.3415 0 0 -0.0915 P的列向量为特征向量,D的对角线值为对应的特征值得到p=0.6693Pl/P为pn的极限值P'为特征值为1时的特征向量 3.8 求pl,p2 A=[3/4/7/18;l/4/ll/18]; [R叨=eig(A); pl=P(: /l)/p2=P(: /2) 得 pl=(0.8412,0.5408)p2=(-0.7071/0.7071) 求u,v [u/v]=solve(,0.8412*u-0.7071*v=0.5,;0.5408*u+0.7071*v=0.5,)的 u=0.72358900144717800289435600578871 v=0.153********493018814132692981115 所以pk=(0.6087-0.154*0.361k*0707/0.391+0.154*0361k*0.707)所以im(pk)=(0.6087/0.391) 与所求极限相同 4.1 fun.m用于查找并显示显示找至I」的a,b,c: functionfun(m,n)%c<=mc-b二nnum=l; forb=l: (m-n) a=sqrt((b+n)A2-bA2); if(a==floor(a)) fprintf('(%4u/%4u,%4u)\a,b,b+n);if(mod(num/5)==0);fprintf(,\rf);end; num二num+1; end end fun(1000,2); 结果: f4: 3Z5)(6,8,10)(&15,17) (14,4&50)(16,63z65)(18,80z82) (24,143,145)(26,168,170)(28,195,197) (34#28&290)(36,323z325)(38,360,362) (44,483,485)(46,528,530)(4&575,577) (54,72&730)(56,783z785)(58,840,842) 得: (a/b/c)=(2*t+4/t*t+4*t+3/t*t+4*t+5) 观察得,如果c-b是奇数,则对应b的值为c-b=l时b的值得c-b倍如果c-b是偶数,则对应b的值为c-b=2时b的值得(c・b)/2倍a,和b也有相同的规律 古女有 c-b=4时;(abc)二(4t+42t*t+4%2牡*t+4*t+4) c・b=5时,(abc)二(lOt+5,10叱1+10弋10壮幷+10牡+5) c-b=6B(azbzc)=(6*t+6,3t*t+6*t#3*t*t+6*t+6) c・b=7时,(abc)二(14t+7」4t壮+14弋14牡壮+14牡+7) 43 fun定义: functionK=fun(m) k=l;i=O;j=O; for(k=l: (m)) [AbC]=e4JL(: L000,k); for(i=l: size(A,2)) if(gcd3(A(i)/B(i)/C(i))==l) j=j+l;K(j)=k; break; end end end 函数e4_l代表4.1中的fun函数 fun(200) 得 12891825324950728198121128162169 200 4.4 fun定义: functionPQ]=fun(t\pmax,qmax) p=[];Q=[];i=0; forp=l: pmax forq二l: qmax ifpz'2-D*q/K2==li=i+l;P(i)=p;Q(i)=q;end end end >>[RQ]=^0(3,4000,4000) P=2726973621351 Q=141556209780 >>P+Q ans=3 11 41 153 571 2131 >>P+2*Q ans=4 15 56 209 780 2911 >>P-Q ans=1 3 11 41 153 571 4.5 代码: m=433;n=0; fork=l: 100*m a=randint(l/l,[1,100]); b=randint(l/l/[l/100]); if(gcd(a,b)==l);n二n+l;end; end sqrt(6/n*100*m) 结果: 3.1467 4.6 代码: n=0;sum=1000000; fork=l: 1000000 x=rand;y=rand; if(y end n/sum*4 结果: 3.1414 5.1 1.代码: solve(,4*xA4-4*xA2=0,) 结果: 0rlz-l 2.1)令x二f(x)得4xWx二3xT・x等价于原方程,所以迭代正确 2)代码: fun用于计算收敛于哪个值,如果不收敛,则输出NaNfunctiony二fun(x)f=@(t)(3*t.A3-t)/(4*t.A2-2); fork=l: 100;lx=x;x=f(lx);if(abs(lx-x) fork=-l.l: 0.1: l.l fun(k);end; NaNNaN-1 结果: 几个极小的数可以近似为0 -1-1-1-11N
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 文件 数学 建模 作业 docx
![提示](https://static.bdocx.com/images/bang_tan.gif)