《matlab数学实验胡良剑第四章.docx》由会员分享,可在线阅读,更多相关《matlab数学实验胡良剑第四章.docx(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、matlab数学实验胡良剑第四章第四章%Exercise1(1)p=111;x=roots(p)polyval(p,x)%验算,结果应为零%Exercise1(2)roots(30-402-1)%Exercise1(3)p=zeros(1,24);p(1171822)=5-68-5;%这样比直接写24个系数简短。x=roots(p)polyval(p,x)%验算,结果应为零%Exercise1(4)p1=23;p2=conv(p1,p1);p3=conv(p1,p2);p3(end)=p3(end)-4;%原p3最后一个分量-4x=roots(p3)polyval(p3,x)%验算,结果应为零
2、%Exercise2fun=inline(x*log(sqrt(x2-1)+x)-sqrt(x2-1)-0.5*x);fzero(fun,2)%注意定义域,初值须大于1%Exercise3fun=inline(x4-2x);fplot(fun,-22);gridon;fzero(fun,-1),fzero(fun,1),fminbnd(fun,0.5,1.5)%Exercise4fun=inline(x*sin(1/x),x);fplot(fun,-0.10.1);x=zeros(1,10);fori=1:10,x(i)=fzero(fun,(i-0.5)*0.01);end;x=x,-x%E
3、xercise5fun=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-16*x(3)2,x);a,b,c=fsolve(fun,000)%Exercise6fun=(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.50.5)%初值0fun=inline(3*x.5-20*x.3+10);fplot(fun,-33);gridon;%作图观察x(1)=-3;x(3)=f
4、minsearch(fun,2.5);fun2=inline(-(3*x.5-20*x.3+10);x(2)=fminsearch(fun2,-2.5);x(4)=3;feval(fun,x)%Exercise8(3)fun=inline(abs(x3-x2-x-2);fplot(fun,03);gridon;%作图观察fminbnd(fun,1.5,2.5)fun2=inline(-abs(x3-x2-x-2);fminbnd(fun2,0.5,1.5)%Exercise9close;x=-2:0.1:1;y=-7:0.1:1;x,y=meshgrid(x,y);z=y.3/9+3*x.2.
5、*y+9*x.2+y.2+x.*y+9;mesh(x,y,z);gridon;%作图观察,可看到00附近极小值,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,00)%求极小值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)%求极大值%Exercise10clear;t=0:24;c=15141414141516182022232528.3132312927
6、25242220181716;%第(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,00,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)2z=log(c);x=(t-14).2;p1=polyfit(x,z,1);a=e
7、xp(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,00,t,c)%初值能够试探,这里用a=0,b=0试探figuref2=feval(fun2,b,t)norm(f2-c)%拟合效果plot(t,c,o,t,f2)%作图检验%Exercise11fun=inline(1-x)*sqrt(10.52+x)-3.06*x*sqrt(1+x)*s
8、qrt(5);x=fzero(fun,0,1)%Exercise12r=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%Exercise13%列方程th*R2+(pi-2*th)*r2-R*r*sin(th)=pi*r2/2%化简得sin(2*th
9、)-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)%Exercise14%先在Editor窗口写M函数保存functionx=secant(fname,x0,x1,e)whileabs(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(x2-1)+
10、x)-sqrt(x2-1)-0.5*x);secant(fun,1,2,1e-8)%Exercise15%作系数为a,初值为xo,从第m步到第n步迭代经过的M函数:functionf=ex4_15fun(a,x0,m,n)x(1)=x0;y(1)=a*x(1)+1;x(2)=y(1);ifmm,plot(x(i),x(i),x(i+1),y(i-1),y(i),y(i);endendholdoff;%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
11、_15fun(1.1,1,1,20);subplot(2,2,4);ex4_15fun(-1.1,1,1,20);%Exercise16%设夹角t,问题转化为minf=5/sin(t)+10/cos(t)%取初始值pi/4,计算如下fun=(t)5/sin(t)+10/cos(t);t,f=fminsearch(fun,pi/4)t=0.6709f=20.8097%Exercise17%提示:x(k+2)=f(x(k)=a2*x(k)*(1-x(k)*(1-a*x(k)*(1-x(k)%计算平衡点x%|f(x)|ex4_18(0.9,1,20)ex4_18(-0.9,1,20)ex4_18(1.1,1,20)ex4_18(-1.1,1,20)%Exercise19clear;close;x(1)=0;y(1)=0;fork=1:3000x(k+1)=1+y(k)-1.4*x(k)2;y(k+1)=0.3*x(k);endplot(x(1000:1500),y(1000:1500),+g);holdonplot(x(1501:2000),y(1501:2000),.b);plot(x(2001:2500),y(2001:2500),*y);plot(x(2501:3001),y(2501:3001),.r);
限制150内