您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 52MATLAB软件与基础数学实验
MATLAB软件与基础数学实验实验1MATLAB基本特性与基本运算例1-1求[12+2×(7-4)]÷32的算术运算结果。►(12+2*(7-4))/3^2◄ans=2例1-2计算5!,并把运算结果赋给变量y►y=5*4*3*2*1◄y=120例1-3►sqrt(2)%计算2开平方◄ans=1.4142例1-4►x=sqrt(2);%计算2开平方并赋值给变量x(不显示)►x%查看x的赋值情况◄x=1.4142例1-5设75,24ba,计算|)tan(||)||sin(|baba的值。►a=pi/180*(-24);%转换为弧度值且不显示►b=pi/180*75;%转换为弧度值且不显示►z=sin(abs(a)+abs(b))/sqrt(tan(abs(a+b)))%计算结果并显示◄z=0.8888例1-6设三角形三边长为2,3,4cba,求此三角形的面积。►a=4;b=3;c=2;%输入边长值且不显示►s=(a+b+c)/2;►A=s*(s-a)*(s-b)*(s-c);%计算面积平方且不显示►A=sqrt(A)%计算面积并显示◄A=2.9047例1-7设101654321A,112311021B,计算||,,AABBA,1A。►A=[1,2,3;4,5,6;1,0,1];►B=[-120;113;211];►BA◄ans=043569312►BA*◄Ans=779131921131►)(detA%det为求方阵的行列式命令◄ans=-6►)(invA%inv为方阵的求逆命令◄ans=-0.83330.33330.5000-0.33330.3333-1.00000.8333-0.33330.5000例1-8显示上例中矩阵A的第2行第3列元素,并对其进行修改.►A(2,3)◄A(2,3)=6若想把该元素改为-1,只要输入下列语句:►A(2,3)=-1;例1-9分别画出函数xxycos2和xxzsin在区间[-6,6]上的图形。►x=(-6:0.1:6)*pi;%从-6pi到6pi以0.1pi为步长生成向量x►y=x.^2.*cos(x);%产生与x对应的函数值向量y(两向量对应元素乘积,用.*)►z=sin(x)./(x+eps);%产生与x对应的函数值向量z(两向量对应元素相除,用./)►subplot(1,2,1)%分图形窗口为1行2列,并在第一个子窗中绘图►plot(x,y,'linewidth',2)%画函数y的曲线,默认为蓝色(参看实验2)►grid%在第一个子窗中加坐标网格►subplot(1,2,2)%在第二个子窗中绘图►plot(x,z,'linewidth',2)%画函数z的曲线,默认为蓝色(参看实验2)►grid%在第二个子窗中加坐标网格例1-10试求方程组432201624121X的解。►a=[1,2,1;4,2,-6;-1,0,2];%输入系数矩阵a►b=[2;3;4];%输入右端列向量b►d=det(a)%求系数矩阵的行列式◄d=2►c=inv(a)%求系数矩阵的逆阵◄c=2.0000-2.0000-7.0000-1.00001.50005.00001.0000-1.0000-3.0000►x=c*b%矩阵左逆乘,结果为方程组的解◄x=-30.000022.5000-13.0000►X=a\b%用\除法直接求方程组的解X(与上述x相同)◄X=-30.000022.5000-13.0000►disp([a,b,x])%显示增广矩阵及解向量◄1.00002.00001.00002.0000-30.00004.00002.0000-6.00003.000022.5000-1.000002.00004.0000-13.0000例1-11试求矩阵方程111321201624121X的解。►a=[1,2,1;4,2,-6;-1,0,2];%输入系数矩阵a►b=[123;111];%输入右端矩阵b►X=b/a%用/除法直接求方程组的解X◄X=3.0000-2.0000-6.00002.0000-1.5000-5.0000例1-12建立同时计算nbay)(1,nbay)(2的函数。即任给a,b,n三个数,返回y1,y2.function[y1,y2]=fun1(a,b,n)%fun1isafunctionusedbyDEMOy1=(a+b)^n,y2=(a-b)^n%CopyrightbyXJTUy1=(a+b).^n;y2=(a-b).^n;例1-13设2211()6(0.3)0.01(0.9)0.04fxxx,试画出在[0,2]上的曲线段。►x=0:0.01:2;%生成自变量x►y=1./((x-0.3).^2+0.01)+1./((x-0.9).^2+0.04)-6;%生成函数值y,注意点运算►plot(x,y,'linewidth',2)%画函数曲线►grid%加坐标网格►f=inline('1./((x-0.3).^2+0.01)+1./((x-0.9).^2+0.04)-6');%生成数值函数f(x)►fplot(f,[0,2])%画函数f在[0,2]上的曲线►grid%加坐标网格例如:对于例题1-13中所定义的f(x),求其零点c.►f=inline('1./((x-0.3).^2+0.01)+1./((x-0.9).^2+0.04)-6');%生成数值函数f(x)►c=fzero(f,[0,2])%求函数f在[0,2]上的零点c,此处要求f(0)f(2)0◄c=1.2995►fzero(f,1)%求函数f在x=1附近的零点◄ans=1.2995例如:求一元函数最小值(fminbnd命令)►fy=inline('1./((x-0.3).^2+0.01)+1./((x-0.9).^2+0.04)-6');►[xmin,fmim]=fminbnd(fy,0.2,0.8)%函数fy在[0.2,0.8]上最小值点及最小值◄xmin=0.6370◄fmim=11.2528►ff=inline('-1./((x-0.3).^2+0.01)-1./((x-0.9).^2+0.04)+6');%函数ff=-fy►[x,y]=fminbnd(ff,0.2,0.8);%函数ff在[0.2,0.8]上最小值点及最小值►xmax=x◄xmax=0.3004►fmax=-y◄fmax=96.5014例如:求例题1-13中所定义f(x)在[0,1]上的定积分10)d(xxf.►f=inline('1./((x-0.3).^2+0.01)+1./((x-0.9).^2+0.04)-6');►I=quad(f,0,1)%求f(x)在[0,1]上定积分◄I=29.8583例1-14求二重积分]2,1[]1,0[dxy及三重积分]1,0[]1,0[]1,0[2)(dxdydzzxey。►g=inline('x.*y','x','y');%建立二元函数g(x,y)=xy►I=dblquad(g,0,1,1,2)%求g(x,y)在[0,1]×[1,2]上的二重积分◄I=0.7500►h=inline('x.*exp(y)+z.^2','x','y','z');%建立三元函数2),,(zxezyxhy►I=triplequad(h,0,1,0,1,0,1)%求h(x,y,z)在[0,1]×[0,1]×[0,1]上的三重积分◄I=1.1925例1-15已知56523ttty,设该曲线在区间[0,x]上所围曲边梯形面积为s,试求当s分别为5,10时的x的值。分.(1)对于s=5►f=inline('1/4*x^4-5/3*x^3+3*x^2+5*x-5');%建立函数5533541)(234xxxxxf►x=fzero(f,[0,5])%求解方程0)(xf在[0,5]上的根◄x=0.7762(2)对于s=10►g=inline('1/4*x^4-5/3*x^3+3*x^2+5*x-10');►x=fzero(g,[0,10])%求解方程0)(xg在[0,10]上的根◄x=1.5179例1-16利用MATLAB命令求解无理数的近似值。(1)用函数零点命令(fzero)求无理数e的近似值;(2)用定积分计算命令(trapz,quad,quadl)求无理数2ln的近似值。(提示:e=2.7182818284…,2ln=0.6931471806…)(1)无理数e可以看成是方程01lnx在x=2附近的实根,于是可以用fzero来求解。►f=inline('log(x)-1');%建立函数1ln)(xxf►x0=fzero(f,2);%求解方程0)(xf在x=2附近的根►e=vpa(x0,10)%显示x0小数点后10位◄e=2.7182818284(2)由于无理数10112lndxx,于是可以用trapz,quad,quadl命令分别来求解。用梯形法(trapz)近似计算►X=0:0.01:1;%产生[0,1]区间上的划分向量►Y=1./(1+X);%求对应的分点处的函数值向量►a=trapz(X,Y);%求用梯形法求出积分近似值►ln2=vpa(a,10)%显示a小数点后10位◄ln2=0.6931534305(注意:已精确到小数点后4位)用高阶方法(quad,quadl)近似计算►f=inline('1./(1+x)');%建立被积函数f(x)►a=quad(f,0,1);%用辛浦生方法求f在[0,1]上的积分近似值►ln2=vpa(a,10)%显示a小数点后10位◄ln2=0.6931471999(注意:已精确到小数点后7位)►a=quadl(f,0,1);%用高阶方法求f在[0,1]上的积分近似值►ln2=vpa(a,10)%显示a小数点后10位◄ln2=0.6931471861(注意:已精确到小数点后9位)例1-17求极限hxhxhsin)sin(lim0。►symsh►fx=sym('(sin(x+h)-sin(x))/h');%建立符号函数fx►limit(fx,h,0)%求fx:h-0的极限◄ans=cos(x)例1-18:设)sin(),(yyxyxfn,求.,,,222yxfyfyfxf►symsxyn%声明符号变量,注意变量间必须用空格分开►fx=x^n*y+sin(y);%建立符号函数►diff(fx)%对变量x(默认)求一阶导数(偏导数)◄ans=x^n*n/x*y即ynxn1►diff(fx,y)%对变量y求一阶导数(偏导数)◄ans=x^n+cos(y)►diff(fx,y,2)%对变量y求二阶导数(偏导数)◄ans=-sin(y)►diff(diff(fx,x),y)%先对x求导再对y求导(二阶混合偏导数)◄ans=x^n*n/x即1nnx例1-19:求dxxxy21,dyxxyt021,dyxxydxx02101,.)(101010yxxdzzyxdydx►symsxyz%声明符号变量,注意变量间必须用空格分开►f1=x*y/(1+x^2);%建立符号函数►f2=x+y+z;►int(f1)%对f1关于变量x(默认)求不定积分◄ans=1/2*y*log(1+x^2)%即)1ln(212xy►symst►int(f1,0,t)%对f1关于变量x(默认)在[0,t]上求定积分◄ans=1/2*log(1+t^2)*y%即)1ln(212ty►int(int(f1,y,0,sqrt(x)),x,0,1)%对f1先求对y的积分再求对x的积分(二重积分)◄ans=1/2-1/8*pi%即.8121►int(int(int(f2,z,0,1-x-y),y,0,1-x),x,0,1)%对f2先对zy的积分
本文标题:52MATLAB软件与基础数学实验
链接地址:https://www.777doc.com/doc-4439261 .html