ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:337KB ,
资源ID:6630169      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6630169.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(intersectab返回向量ab的公共部分.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

intersectab返回向量ab的公共部分.docx

1、intersectab返回向量ab的公共部分intersect(a,b):返回向量a,b的公共部分intersect(A,B,row):A,B为相同列数的矩阵,返回元素相同的行c,ia,ib=intersect(a,b):c为a,b的公共元素,ia表示公共元素在a中的位置,ib表示公共元素在b中的位置c=setdiff(a,b):返回属于a但不属于b的不同元素的集合,即c=a-bc=setdiff(A,B,row):返回属于A但不属于B的不同行c,i=setdiff(.):c与前面一致,i表示c中元素在a中的位置c=setxor(a,b):返回a,b交集的非c=setxor(A,B,row):

2、返回矩阵A,B的非,A,B有相同的列数x,ia,ib=setxor(.):ia,ib表示c中元素分别在a(或A),b(或B)中的位置c=union(a,b):a,b的交集c=union(A,B,row):返回A,B矩阵不同行向量构成的大矩阵,其中相同行向量只取其一c,ia,ib=union(.):ia,ib分别表示c中行向量在原矩阵(向量)中的位置dot(a,b):若a,b为向量,a和b长度必须相同,返回向量a,b的点积;若a,b为矩阵,则a,b必须有相同的维数dot=(A,B,dim):在dim维数中给出A与B的点积c=cross(a,b):若a,b为向量,则c=a*b,a,b必须是3个元素

3、的向量;若a,b为矩阵,则返回一个3*n的矩阵,其中的列式a与b对应列的叉积,a,b都是3*n矩阵c=cross(a,b,dim):在dim维数在给出向量a,b的叉积,a和b 必须有相同的维数,size(a,dim),size(b,dim)必须是3混合积:x=dot(a,cross(b,c),即a.(b*c),先叉积后点积向量的长度:sqrt(dot(a,a)或sqrt(sum(a.*a)向量的方向角:r=sqrt(dot(A,A); %计算向量A的长度alpha=acos(A(1)/r); %向量A与x轴的夹角beta=acos(A(2)/r); %向量A与y轴的夹角gamma=acos(A

4、(3)/r); %向量A与z轴的夹角R1=sqrt(dot(a,a);R2=sqrt(dot(b,b) ;alpha=acos(dot(a,b)/R1/R2) %计算向量a,b间的夹角解析几何简单应用(1)点与点之间的距离s=A-B;r=sqrt(dot(s,s) %计算A,B两点间的距离(2)点与平面的距离平面方程Ax+By+Cz+D=0,用f=A,B,C,D,点P(a,b,c)用P=a,b,c表示。d1=dot(f,P,1); %计算Aa+Bb+Cc+Dd2=sqrt(dot(f(1:3),f(1:3); %计算(A2+B2+C2)(1/2)d=abs(d1/d2) %d为点P到平面f的距

5、离(3)点与直线的距离 将直线表示为点O=和向量v=A,B,C,距离vs=p-pv; %计算d1=sqrt(dot(v,v); %计算c=cross(v,vs) %计算d2=sqrt(dot(c,c) % 计算d=d2/d1 % 计算点P到直线的距离d多项式和线性方程组的求解1.p=1,-4,7,-31;poly2sym(p) %poly2sym(p)命令是将多项式向量转变为符号形式2.A=1,2,3;4,5,6;7,8,9;p=poly(A) %特征根poly2sym(p)%特征多项式3.r=1,3,7 %已知多项式的根为1,3,7p=poly(r) %由根创建多项式的系数poly2sym(

6、p) %由根创建多项式4.多项式的运算(1)计算两多项式,的和、积、商,p=2,1,0,-5,3;s=1,1,1;s0=0,0,1,1,;p+s0 %多项式加法,向量p,s必须同维,将s扩展成s0conv(p,s) %多项式乘法,此时s不必扩维成s0q,r=deconv(p,s) %多项式除法,商为q,余数为r,不必扩维(2)多项式的根roots(p) %多项式的根,即方程p(x)=0的解pc=compan(p) %多项式p的伴随矩阵eig(pc) %多项式p的伴随矩阵的特征值等于多项式p的根例:求多项式的根解法1:p=1,3,7;roots(p)解法2:p=1,3,7;pc=compan(p

7、);eig(pc)(3)多项式微分与赋值运算polyder(p) %多项式p的一阶微分polyval(p,a) %求x=a是多项式p的值5.方程组的求解(1)线性方程组有惟一的解时x=inv(A)*b x=inv(sym(A)*b %精确解(2)线性方程组有无穷多解时Z=null(A) %求解A矩阵的化零矩阵,也即基础解系Z=null(A,r) %求解A矩阵的化零矩阵的规范形式x0=(pinv(A)*b) %AX=b的一个特解(3)无解时x=pinv(A)*b %最小二乘解6.图形的绘制(1)显函数绘制fplot(函数,a,b) %函数表达式要置于单引号内,a,b为指定区间如:fplot(si

8、n(4*x),0,pi)fplot(sin(x),cos(x),-2*pi,2*pi) %在同一坐标系下绘制正弦、余弦取曲线(2)隐函数的绘制ezplot(隐函数表达式)如:ezplot(x2*sin(x+y2)+y2*exp(x+y)+5*cos(x2+y)上面函数将根据x的定义域绘图,下面的限制了定义域ezplot(x2*sin(x+y2)+y2*exp(x+y)+5*cos(x2+y),-10,10)(3)极坐标下的图形绘制polar(x,y,s) %x为极角,y为极径,s为图形设置选项ezpolar(函数表达式)(4)特殊二维曲线绘制函数函数名意义常用调用格式函数名意义常用调用格式ba

9、r条状图bar(X,Y)comet彗星状图comet(X,Y)compass罗盘图compass(X,Y)errorbar误差限图Errorbar(x,y, ,)feather羽毛状图feather(X,Y)fill二维填充图形fill(X,Y,c)hist直方图hist(X,Y)stem离散数据柄状图stem(X,Y)polar极坐标图polar(X,Y)quiver磁力线图quiver(X,Y)stairs阶梯图stairs(X,Y)semilogxx-半对数图semilogx(X,Y)loglog对数图loglogsemilogyy-半对数图semilogy(X,Y)(5)图形修饰与控制

10、axis square %是绘图区域为正方形axis equal %控制各坐标轴的单位刻度,使其相等axis(xmin,xmax,ymin,ynax) %控制坐标轴的范围title(字符串) %给图形加上标题xlabel(字符串) %x轴标注ylabel(字符串) %y轴标test(x,y,字符串) %在点(x,y)处注说明文字grid on %加网格线grid off %取消网格线hold on %保持当前图形hold off %解除hold on命令legend(First,Second,n) %对一个坐标系上的两个图形做出图例注解subplot(m,n,p) %将当前窗口分成m行n列个区

11、域,并指定在p区绘图fill(X,Y,颜色选项) %颜色填充关于legend(First,Second,n)中参数n的补充:0:自动定位,使得图标与图形重复最少,即自动放在最佳位置1:置于图形的右上角(默认值)2:左上角3:左下角4:右下角-1:右外侧(6)三维图形的绘制plot3(X,Y,Z,s)如:绘制螺旋线t=0:pi/60:10*pi;x=sin(t);y=cos(t);plot3(x,y,t,*b)其它函数:stem3可以绘制火柴杆型曲线,fill3可以绘制三维的填充图形,bar3可以绘制三维的直方图,comet3可以绘制三维的彗星状图。(7)三维曲面的绘制X,Y=meshgrid(

12、v1,v2) %生成网格数据Z=.,如Z=X.*Y %计算二元函数的Z矩阵surf(X,Y,Z)或mesh(X,Y,Z) %mesh函数绘制网格图,surf函数绘制表面图其中v1,v2为x轴和y轴的分隔形式其他绘制三维曲面的函数有:meshz %绘制带有底座的三维网格图meshc %带有等高线的三维网格图surfc %带有等高线的三维曲面图surf1 %绘制光照下的三维曲面waterfall %瀑布型三维图形contour3 %三维等高线函数pie3 %三维饼状图cylinder %柱面图sphere %球面图如:绘制带有底座的马鞍面: x=-8:8; y=-8:8;X,Y=meshgrid(

13、x,y);Z=(x.2/42-y.2/52);meshz(X,Y,Z)(8)直角坐标,柱坐标,球坐标之间的转换x,y=pol2cart(theta,r) %二维极坐标转换为直角坐标theta,r=cart2pol(x,y) %二维直角坐标转换为极坐标x,y,z=pol2cart(theta,r,z) %三维柱坐标转换为直角坐标theta,r,z=cart2pol(x,y,z) %三维直角坐标转换为柱坐标x,y,z=sph2cart(theta,phi,r) %三维球坐标转换为直角坐标theta,phi,r=cart2sph(x,y,z) %三维直角坐标转换为球坐标如:把三维柱坐标转换为直角坐标

14、theta=0:pi/30:2*pi; ro=sin(theta);t,r=meshgrid(theta,ro);z=r.*t;x,y,z=pol2cart(t,r,z);mesh(x,y,z)(9)图形命令的各种设置选项曲线线型曲线颜色标记符号选项意义选项意义选项意义 实线b蓝色*星号 虚线c蓝绿色.实点:点线g绿色o圆圈.点划线k黑色叉号none无线m紫红色+加号r红色d棱形w白色向上三角y黄色向右三角s正方形h正六角形p五角形向下三角7.微积分基本运算(1)函数的极限limit(f,x,a) %f(x)在时极限值limit(f,x,a,right) %右极限limit(f,x,a,lef

15、t) %左极限limit(limit(f,x,) ,y,) %累次极限如:求解极限sym x a b;f=x*(1+a/x)x*sin(b/x);limit(f,x,inf)(2)函数的导数diff(f,x) %求f关于x的导数diff(f,x,n) %n阶导数diff(diff(f,x,m),y,n) %二元函数f的偏导数(3)函数的积分int(f,x) %函数f(x)的不定积分;当被积函数f中只有一个变量时,可以省略xint(f,x,a,b) %定积分int(f,x,a,inf) %无穷积分(4)函数的级数展开(a)泰勒(Taylor)级数展开taylor(f,x,k) %f(x)在x=0

16、处的泰勒展开式,k为需要展开的项数taylor(f,x,k,a) %在x=a处展开注:k的默认值为6.(b)傅里叶(Fourier)级数展开MATLAB本身没有提供专门的傅里叶级数展开的函数,可编写如下M函数实现function a0,an,bn=fourier(f)syms xa0=int(f,-pi,pi)/pi;an=int(f*cos(n*x),-pi,pi)/pi;bn=int(f*sin(n*x),-pi,pi)/pi;(4)梯形法数值积分trapz(x,y) %x可以为行向量或列向量,y的行数等于x向量的元素数注:若y由多列向量给出,则该函数可以得到若干个函数的积分值。如:用梯形

17、法求区间,函数的定积分值x=0:pi/30:pi; %步长可选y=sin(x) cos(x);trapz(x,y)(5)quad函数计算数值积分(Simpson算法)quad(Fun,a,b) %求定积分,误差为quad(Fun,a,b,) %限定精度为的定积分求解注:Fun为描述被积函数的字符串变量,可以是一个Fun.m函数文件名,还可以是inline函数直接定义。a,b分别为定积分的上限和下限,为用户指定的误差限,默认值为(6)矩形区域上二重积分的数值解dblquad(Fun,a,b,c,d) %计算双重积分dblquad(Fun,a,b,c,d,) %限定精度为的双重积分如:求二重积分:

18、 f=inline(exp(-x.2/2).*sin(x.2+y),x,y);%inline函数的第一个输入变量为被积函数本身,第二个、第三个输入变量为自变量J=dblquad(f,-2,2,-1,1)(7)长方体区域上三重积分的数值解triplequad(Fun,a,b,c,d,m,n,) %三重积分8.代数方程与常微分方程的求解(1)代数方程的图解法如:求解方程: ezplot(exp(x)-x2-10,0,5)hold on ,line(0,5,0,0)注:通过局部放大图形,可得到原方程的解,直到曲线与x轴的交点附近完全一致。如下图红圈所示。(2)代数方程的符号解solve(eqn) %

19、求解方程eqn=0,输入变量eqn可以是符号表达式或字符串solve(eqn,x) %对指定变量x求解eqn(x)=0solve(eqn1,eqn2, . ,eqnn) %求解方程:eqn1=0,eqn2=0, . ,eqnn=0如:使用solve函数求解方程:x3+4x2-4x-1=0solve(x3+4*x2-4*x-1)使用solve函数求解方程组:x+y=1,x-3y=5。x,y=solve(x+y=1,x-3*y=5) (3)一般非线性方程数值解x=fsolve(Fun,x0) 其中,Fun应该用M函数文件或inline函数按指定的格式描述,x0为搜索点的初值,方程求根程序从该值开始

20、逐步减小误差搜索出满足方程的实根x。如:先用图解法观察方程5x2sinx-e-x=0在区间0,10内有多少解,然后试用数值方法求之。ezplot(5*x2*sin(x)-exp(-x),0,10)hold online(0,10,0,0)从图中可以看出在0,10内共有4个解,分别在0,3,6,9附近从而可以使用fsolve函数求其数值解fun=inline(5*x.3.*sin(x)-exp(-x);fsolve(fun,0,3,6,9)例:求解方程组:x-0.7sinx-0.2cosy=0, y-0.7cosx+0.2siny=0解:先编制函数文件fu.mfunction y=fu(x)y(

21、1)=x(1)-0.7*sin(x(1)-0.2*cos(x(2)=0;y(2)=x(2)-0.7*cos(x(1)+0.2*sin(x(2)=0;y=y(1),y(2);在命令窗口调用fu函数,并计算:x=fsolve(fu,0.5,0.5)结果为:x=0.5265 0.5079(4)常微分方程的符号解(解析解)dsolve(f1,f2, . fn)dsolve(f1,f2, . Fn,x)其中,fi既可以描述微分方程,又可以描述初始条件或边界条件。在描述微分方程,可以用D4y表示y(4)(t),还可以用D2y(2)=3表示y(2)=3。如火自变量不是t而是x,则可以用后一个语句指明自变量。

22、如:求解微分方程y-y-ex=0的通解及在初始条件y(0)=1;y(0)=2下的特解。dsolve(D2y-Dy-exp(x)=0,x)ans = C3*exp(x) + exp(x)*(x + C2*exp(-x)在初始条件y(0)=1;y(0)=2下:dsolve(D2y-Dy-exp(x)=0,y(0)=1,Dy(0)=2,x)ans = exp(x) + x*exp(x)(5)常微分方程的数值解法T,Y=ode45(Fun,t0,tf,y0) %在区间t0,tf上,用初始条件y0求解显式微分方程:y=f(t,y),t0默认为0例:求解微分方程y=-2y+2x2+2x,0x0.5,y(0

23、)=1fun=inline(-2*y+2*x2+2*x,x,y);x,y=ode45(fun,0,0.5,1);plot(x,y) %绘制解函数曲线图例:考虑描述振荡器的经典Van der Pol方程:在初始条件y(0)=1y(0)=0的解(取=7)分析:首先,用dsolve函数,看看有啥结论y=dsolve(D2y+mu*(y2-1)*Dy+y=0,y(0)=1,Dy(0)=0)Warning: Explicit solution could not be found. In dsolve at 194 y = empty sym 得出无解提示,可见dsolve函数不能直接用于一般非线性方程

24、的解析解的求解。数值解,首先把微分方程转化为显式微分方程的形式。令,则原方程化为:初值条件变为:x1(0)=1, x2(0)=0解法1 使用inline函数描述微分方程组:f1=inline(x(2);-7*(x(1)2-1)*x(2)-x(1),t,x);y0=1;0;t,x=ode45(f1,0,40,y0);plot(t,x)解法2 编写M函数文件vdp.m来描述微分方程组:function fy=vdp(t,x)fy=x(2);-7*(x(1)2-1)*x(2)-x(1);然后在命令窗口中输入:y0=1;0;t,x=ode45(vdp,0,40,y0);plot(t,x)(6)不同求解

25、器Solve的特点求解器SolveODE类型特点说明ode45非刚性一步法,4,5阶Runge-Kutta方程,累计截断误差达(x)3大部分场合的首选算法ode23非刚性一步法,2,3阶Runge-Kutta方程,累计截断误差达(x)3使用于精度较低的情形ode113非刚性多步法,Adams算法,高低精度均可达10-610-3计算时间比ode45短ode23t适度刚性采用梯形算法适度刚性情形ode15s刚性多步法,Gears反向数值微分,精度中等若ode45失败时。可尝试使用ode23s刚性一步法,2阶Rosebrock算法,低精度当精度较低时,计算时间比ode15s短9.优化问题(1)无约束

26、最优化问题的数值解法x=fminunc(Fun,x0) %最简求解语句x,f=fminunc(Fun,x0,options) %一般求解语句fminsearch的用法与fminuc一样options的选择参数名参数说明Display中间结果显示方式,其值可以取off表示不显示中间值,iter逐步显示,notify求解不收敛时给出提示,final只显示终值GradObj表示目标函数的梯度是否已知,可以选择为on或offLargeScale表示是否使用大规模问题算法,取值为on或offMaxIter方程求解和优化过程最大允许的迭代次数,若方程未求出解,可适当增加此值MaxFunEvals方程函数或

27、目标函数的最大调用次数TolFun误差函数的误差限控制量,当函数的绝对值小于此值即终止求解TolX解的误差限控制量,当解的绝对值小于此值即终止求解opt=optimset %获得默认的常用变量opt.TolX=1e-10; %修改解的误差限控制量,或者用set(opt.TolX,1e-10)【例1.75】已知二元函数z=f(x,y)=(x2-2*x).exp(-x2-y2-xy),使用MATLAB提供的求解函数求出其最小值首先用inline语句定义目标函数:f=inline(x(1)2-2*x(1)*exp(-x(1)2-x(2)2-x(1)*x(2),x);然后给出初始值,并将求解控制变量中

28、的Display属性设置为iter,这样可以显示中间的搜索结果:x0=0;0;ff=optimset;ff.Display=iter;最后,可以用下面的语句求解出最优解:x=fminsearch(f,x0,ff) Iteration Func-count min f(x) Procedure 0 1 0 1 3 -0.000499937 initial simplex 2 4 -0.000499937 reflect. 71 135 -0.641424 contract inside 72 137 -0.641424 contract outsideOptimization terminated: the current x satisfies the termination criteria using OPTIONS.TolX of 1.000000e-04 and F(X) satisfies the conver

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1