數(shù)據(jù)分析MATLAB相關算法.doc_第1頁
數(shù)據(jù)分析MATLAB相關算法.doc_第2頁
數(shù)據(jù)分析MATLAB相關算法.doc_第3頁
數(shù)據(jù)分析MATLAB相關算法.doc_第4頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、數(shù)據(jù)分析-MATLAB相關算法一. 非線性方程求解1.二分法m文件:functionc,en;yc二 bisect(f,a,b,delta)%f是所要求解的函數(shù)%a,b是區(qū)間的左右限%delta是誤差界%c是近似解%yc是函數(shù)f在c上的值,err為誤差if nargin0,disp(a,b)不是有根區(qū)間);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是給定的迭代函數(shù)%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超過了迭代最大次數(shù);endendp選定的迭代函數(shù):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)%實現(xiàn)矩陣換行dear all;a=input(輸入矩陣 a=*);m,n=size(a);for j=l:na(lj)=a(2J);a(2J)=t;endc=a;disp(換行后矩陣a變?yōu)椋?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)%實現(xiàn)兩個矩陣相乘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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論