数学实验第四章函数和方程习题MATLAB编码(胡良剑版)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
%?f是非线性函数
%p0,p1是初始值
%delta是给定允许误差
%m是p1-p0的误差估计?
%k是所需
%要的迭代次数?%y=f(p1)
% K=0,p0,p1,feval('f',p0),feval('f',p1)
% for k=1:max1
% if(f1==0)
% root=a;
% end
% if(f2==0)
% root=b;
% end
% if(f1*f2>0)
% disp('两端点函数值乘积大于0!');
% return;
% else
% tol=1;
% fun=diff(sym(f));
% fa=subs(sym(f),findsym(sym(f)),a);
% 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]) %求极大值
%第10题
% t=0:24;
% c=[15 14 14 14 14 15 16 18 20 22 23 25 28 ...
% x(2)=fminsearch(fun2,-2.5);
% x(4)=3;
% feval(fun,x)
%第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)');
% y=[0.95 0.84 0.86 1.06 1.50 0.72];
% e=y-(c(1)*x.^2+c(2)*x+c(3));
%第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-16*x(3)^2]','x');
% 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])
%第8题(1)
% fun=inline('x.^2.*sin(x.^2-x-2)');
% fplot(fun,[-2 2]);grid on; %作图观察
% 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);
% p2=p1-feval('f',p1)(p1-p0)/(feval('f',p1)-feval('f',p0));
% err=abs(p2-p1);
% p0=p1;
% p1=p2;
% k,p1,err,y=feval('f',p1)
% if(err<delta)|(y==0),
% ?break,end?
% 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
% end
%r=NewtonRoot('x*log(sqrt(x^2-1)+x)-sqrt(x^2-1)-0.5*x',1,3)
%第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);
% end
% OR
% % NewtonRoot.m迭代法
% function root=NewtonRoot(f,a,b,eps)
% if(nargin==3)
% eps=1.0e-4;
% end
% f1=subs(sym(f),findsym(sym(f)),a);
% f2=subs(sym(f),findsym(sym(f)),b);
数学实验第四章函数和方程习题MATLAB编码(胡良剑版)答案
% fun=inline('x^2+x+1','x')
% fzero(fun,x)
% p=[1 1 1];x=roots(p)
% polyval(p,x)
% x=-2:0.01:-1;y=x.*sin(x.^2-x-1);
% [m,h]=min(y)
% [a,b,c]=fsolve(fun,[0 0 0])
%第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])
%第7题
% t=0:pi/100:2*pi;
% th=fsolve(fun,pi/4)
% R=20*cos(th)
%第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));
% figure
% f2=feval(fun2, b,t)
% norm(f2-c) %拟合效果
% plot(t,c,t,f2) %作图检验
%第11题
% fun=inline('(1-x)*sqrt(10.52+x)-3.06*x*sqrt(1+x)*sqrt(5)');
% x=fzero(fun,[0,1])
% 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)
% OR
% Funtion[p1,err,k,y]=secant(f,p0,p1,delta,max1)
% x(6)=2
% feval(fun,x)
%第8题(2)
% 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)');
% fminbnd(fun2,0.5,1.5)
%第9题
% 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; %作图观察
% fun=inline('x(2)^3/9+3*x(1)^2*x(2)+9*x(1)^2+x(2)^2+x(1)*x(2)+9');
% 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])
% x(1)=-2;
% x(3)=fminbnd(fun,-1,-0.5);
% x(5)=fminbnd(fun,1,2);
% fun2=inline('-x.^2.*sin(x.^2-x-2)');
% x(2)=fminbnd(fun2,-2,-1);
% x(4)=fminbnd(fun2,-0.5,0.5);
%第11题
% 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)
% root=b-fb/dfb;
% end
% while(tol>eps)
% r1=root;
% fx=subs(sym(f),findsym(sym(f)),r1);
% dfx=subs(sym(fun),findsym(sym(fun)),r1);
% root=r1-fx/dfx;
% tol=abs(root-r1);
% fb=subs(sym(f),findsym(sym(f)),b);
% dfa=subs(sym(fun),findsym(sym(fun)),a);
% dfb=subs(sym(fun),findsym(sym(fun)),b);
% if(dfa>dfb)
% root=a-fa/dfa;
% else
% x2=x0-x1 %商业贷款
% a2=(1+r)^N*r*x2/((1+r)^N-1)
% a=a1+a2
%第12题
%列方程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')
%第16题
%设夹角t,问题转化为min f=5/sin(t)+10/cos(t)
%取初始值pi/4,计算如下
% fun=@(t)5/sin(t)+10/cos(t);
% % [x,g]=fminsearch(fun,[0,0])
%第二题
% fun=inline('x*log(sqrt(x^2-1)+x)-sqrt(x^2-1)-0.5*x');
% fzero(fun,2)
% M函数fift.m
% function f=fiftc(c)
% x=[0.1 0.2 0.15 0 -0.2 0.3];
% [n,l]=max(y)
% x(h)
% fun=inline('x*sin(x^2-x-1)','x');
% [x,f]=fminbnd(fun,-1.6,-1)
% [X,F]=fminsearch(fun,-1.6)
% fun=inline('-5+x(1)^4+x(2)^4-4*x(1)*x(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])
% 31 32 31 29 27 25 24 22 20 18 17 16];
% p2=polyfit(t,c,2)
% p3=polyfit(t,c,3)
% fun=inline('a(1)*exp(a(2)*(t-14).^2)','a','t');
% a=lsqcurvefit(fun,[0 0],t,c) %初值试探
% f=feval(fun,a,t)
% norm(f-c) %拟合效果
% plot(t,c,t,f) %作图检验
% fun2=inline('b(1)*sin(pi/12*t+b(2))+20','b','t'); %原题修改f(x)+20
% b=lsqcurvefit(fun2,[0 0],t,c)
相关文档
最新文档