数据分析MATLAB相关算法.doc_第1页
数据分析MATLAB相关算法.doc_第2页
数据分析MATLAB相关算法.doc_第3页
数据分析MATLAB相关算法.doc_第4页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据分析-MATLAB相关算法一. 非线性方程求解1.二分法m文件:functionc,en;yc二 bisect(f,a,b,delta)%f是所要求解的函数%a,b是区间的左右限%delta是误差界%c是近似解%yc是函数f在c上的值,err为误差if nargin0,disp(a,b)不是有根区间);return ,endmaxl=l+round(log(b-a)-log(delta)/log(2);for k=l:maxlc=(a+b)/2;yc=feval(,f/c);if yc=Oa 二 c;b=c;break,elseif yb*yc0b 二 c;yb=yc;elsea 二 c;

2、ya 二 c;endif (b-a)deltabreak,endk,c=(a+b)/2,err=abs(b-a),yc=feval(f,c);end2.不动点迭代m文件functionpO/k/err/p=fixpt(g/pOltol.maxl)%g是给定的迭代函数%pO是初值%p是不动点的近似值P 二 po;for k=2:maxlP(k)=fevalCgP(k-l);k,err=abs(P(k)-P(k-l)P 二 P(k);if (errtol)break;endif k=maxldispC超过了迭代最大次数;endendp选定的迭代函数:function y=g(x)y=sin(x)/

3、x;二. 方阵的特征值与特征向量1幕法function m xbiaozhi = mifa(A/jingdu/cishu)%幕法求矩阵最大特征值,其中%m为绝对值最大的特征值,x为对应最大特征值的特征向量 %biaozhi表明迭代是否成功if narginv3cishu=100;endif narginv2jin gdu=le-5;endn=length(A);x 二 ones( n,l);biaozhi二迭代失败!k 二 0;ml 二 0;while k=cishuv=A*x;vmaxzk二 max(abs(v);m 二 v(k);x=v/m;if abs(m-ml)ee=a(ij);P=i

4、;q=j;else c=0;endendendforj=k:n %行交换t=a(k,j);a(kj)=a(pj);a(Pj)=t;endif P=k%判断行列式是否换号 d=d*(-l);else d=d;endfor i=k:n %列交换t=a(i,k);a(irk)=a(irq);a(Lq)=t;endif q-=k%判断行列式是否换号 d=d*(-l);else d=d;endif a(k,k)=Ofor i=k+l:n %消元 r=a(i,k)/a(k,k);for j=k+l:n a(i,j)=a(i,j) 卢 a(kj); endendelse d=d;endendfor i=l:

5、n%求行列式d=d*a(ij);enddispC矩阵a的行列式为:)d2矩阵的换行function c=huanhang(a)%实现矩阵换行dear all;a=input(输入矩阵 a=*);m,n=size(a);for j=l:na(lj)=a(2J);a(2J)=t;endc=a;disp(换行后矩阵a变为:)c3.列主元消元法解方程function d=jiefang(a)%列主元消元法解方程clear all;a=input(*输入矩阵 a=*);row, column=size(a);fori=l:column%每一列的列标s(i)=O;x(i)=O;endfor k=l:row

6、-l%最后一行不用比较e=a(kk);P=k;q=k;fori=k:row forj=k:column-l ifabs(a(ifj) abs(e)e=a(tj);P=i;q=j;else c=0;endendendt=m(k); %换列标记m(k)=m(q);m(q) =t;for i=l:row %列交换t=a(i,k);a(ifk)=a(ifq);a(i.q)=t;endfor j=k:column %行变换t=a(Kj);a(k,j)=a(p,j);a(pj)=t;endifa(k,k) =O %消元dispC非唯一解)else for i=k+l:rowr=a(i,k)/a(k,k);

7、for j=k:columna(i,j)=a(i,j)i怜(kJ);endendendendifa(rowrrow)=0dispC非唯一解)elses(row)=a(rowf column)/a(rowf row); s(row)q=m(row);x(q)=s(row);for i=row-l:lfor j=i+l:rows(i)=s(i)+a(ij)*x(i);ends(i)=a(i, column)-s(i)/a(i,i);q=m(i);x(q)=s(i);endendfor i=l:rowx(i)endend4两矩阵相乘function d=chengfa(Av B)%实现两个矩阵相乘c

8、lear all;A=inputC 输入矩阵 A=*);B=inputC输入矩阵B=*)m n=size(A);nb p=size(B);C=zeros(mfp);if n=nbdispC不满足矩阵相乘条件)else for i=l:mfor j=l:pd=0;for k=l:nd=d+A(i,k)*B(kj);endC(lj)=d;endenddispC矩阵AB结果为:)CEnd5矩阵元素最大值及下标function d=xunzhuyuan(a)%求一个矩阵的最大元素及其下标dear all;a=input(输入矩阵 a=);e=a(l,l); %设e=a(l,l)为最大元素P=l;q=i;m,n=size(a);for i=l:mfor j=l:nif abs(a(ifj)ee=a(Lj);P=i;else c=0;endendenddisp(最大元素为Jd=a(p,q)disp(最大元素所在的行为:)disp(最大元素所在的列为:)qend6.矩阵元素最大值及下标function d=zuidazhi(A)%求矩阵的最大元素及其下标clear all;A=inputC 输入矩阵 A=*);B=A*;%转置a,r=max(A); %求出矩阵A每一列的最大值和每列最大值所在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论