




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
數據分析-MATLAB相關算法
一.非線性方程求解1.二分法m文件:function[c,err,yc]=bisect(f,a,b,delta)%f是所要求解的函數%a,b是區間的左右限%delta是誤差界%c是近似解%yc是函數f在c上的值,err為誤差ifnargin<4
delta=1e-5;endya=feval('f',a);yb=feval('f',b);ifyb==0
c=b,return,endifya*yb>0,
disp('(a,b)不是有根區間');
return,endmax1=1+round((log(b-a)-log(delta))/log(2));fork=1:max1
c=(a+b)/2;
yc=feval('f',c);
ifyc==0
a=c;
b=c;
break,
elseifyb*yc>0
b=c;
yb=yc;
else
a=c;
ya=c;
end
if(b-a)<delta
break,
end
k,c=(a+b)/2,err=abs(b-a),yc=feval('f',c);end2.不動點迭代m文件function[p0,k,err,p]=fixpt(g,p0,tol.max1)%g是給定的迭代函數%p0是初值%p是不動點的近似值P(1)=p0;fork=2:max1
P(k)=feval('g',P(k-1));
k,err=abs(P(k)-P(k-1))
p=P(k);
if(err<tol)
break;end
ifk==max1
disp('超過了迭代最大次數;
endendP選定的迭代函數:functiony=g(x)y=sin(x)/x;二.方陣的特征值與特征向量1冪法function[mxbiaozhi]=mifa(A,jingdu,cishu)%冪法求矩陣最大特征值,其中%m為絕對值最大的特征值,x為對應最大特征值的特征向量%biaozhi表明迭代是否成功ifnargin<3
cishu=100;endifnargin<2
jingdu=1e-5;endn=length(A);x=ones(n,1);biaozhi='迭代失?。?;k=0;m1=0;whilek<=cishu
v=A*x;
[vmax,k]=max(abs(v));
m=v(k);
x=v/m;
ifabs(m-m1)<jingdu
biaozhi='迭代成功!';break;
end
m1=m;
k=k+1;end三.常微分方程求解1.改進歐拉法解微分方程functionyout=gaijinoula(f,x0,y0,xn,n)%定義輸入輸出x=zeros(1,n+1);y=zeros(1,n+1);x(1)=x0;y(1)=y0;h=(xn-x0)/n;fori=1:n
x(i+1)=x(i)+h;
z0=y(i)+h*feval(f,x(i),y(i));
y(i+1)=y(i)+(feval(f,x(i),y(i))+feval(f,x(i+1),z0))*h/2;
end
shuchu=[x',y']fprintf('x(i)
y(i)')
舉例:所要求解的函數:functionDy=f(x,y)Dy=x+y;2.四階龍格庫塔法解微分方程functionyout=xin(bianliang)%定義輸入輸出clearallx0=0;xn=1;y0=1;h=0.1;%設置初始值、區間和步長[y,x]=lgkt4j(x0,xn,y0,h);%四階龍格庫塔法n=length(x);fprintf('i
x(i)
y(i)\n');%輸出格式fori=1:n
fprintf('%2d%3.3f%4.4f\n',i,x(i),y(i));end
function[y,x]=lgkt4j(x0,xn,y0,h)x=x0:h:xn;%設置區間n=length(x);y1=x;y1(1)=y0;fori=1:n
K1=f(x(i),y1(i));
K2=f(x(i)+h/2,y1(i)+h/2*K1);
K3=f(x(i)+h/2,y1(i)+h/2*K2);
K4=f(x(i)+h,y1(i)+h*K3);
y1(i+1)=y1(i)+h/6*(K1+2*K2+2*K3+K4);
endy=y1;
舉例:functionDy=f(x,y)
Dy=y-2*x/y;
執行結果為:
i
x(i)
y(i)
10.0001.0000
20.1001.0954
30.2001.1832
40.3001.2649
50.4001.3416
60.5001.4142
70.6001.4832
80.7001.5492
90.8001.6125100.9001.6733111.0001.7321四.插值法1拉格朗日插值function[c,l]=lglr(x,y)%x為n個節點的橫坐標組成的向量,y為縱坐標組成的向量%c為插值函數的系數組成的向量%輸出為差值多項式的系數w=length(x);n=w-1;l=zeros(w,w);fork=1:n+1
v=1;
forj=1:n+1
ifk~=j
v=conv(v,poly(x(j)))/(x(k)-x(j));
end
end
l(k,:)=v;endc=y*l;
五.數據擬合
1.最小二乘擬合functionc=zxrc(x,y,m)%x是數據點橫坐標,y數據點縱坐標%m要構造的多項式的系數,c是多項式由高到低的系數所組成的向量n=length(x);b=zeros(1:m+1);f=zeros(n,m+1);fork=1:m+1
f(:,k)=x'.^(k-1);enda=f'*f;b=f'*y';c=a\b;c=flipud(c);六.矩陣相關程序1.求矩陣的行列式functiond=hanglieshi(a)%求任意輸入矩陣的行列式
clearall;
a=input('輸入矩陣a=');
d=1;
n=size(a);%方陣的行(或者列)數
fork=1:n-1
e=a(k,k);%設矩陣的主元
fori=k:n
%求出矩陣的全主元
forj=k:n
ifabs(a(i,j))>e
e=a(i,j);
p=i;
q=j;
elsec=0;
end
end
end
forj=k:n%行交換
t=a(k,j);
a(k,j)=a(p,j);
a(p,j)=t;
end
ifp~=k%判斷行列式是否換號
d=d*(-1);
elsed=d;
end
fori=k:n%列交換
t=a(i,k);
a(i,k)=a(i,q);
a(i,q)=t;
end
ifq~=k%判斷行列式是否換號
d=d*(-1);
elsed=d;
end
ifa(k,k)~=0
fori=k+1:n
%消元
r=a(i,k)/a(k,k);
forj=k+1:n
a(i,j)=a(i,j)-r*a(k,j);
end
end
elsed=d;
endend
fori=1:n%求行列式
d=d*a(i,i);
enddisp('矩陣a的行列式為:')d
2.矩陣的換行functionc=huanhang(a)%實現矩陣換行clearall;a=input('輸入矩陣a=');[m,n]=size(a);
forj=1:n
t=a(1,j);
a(1,j)=a(2,j);
a(2,j)=t;
end
c=a;
disp('換行后矩陣a變為:')
c
3.列主元消元法解方程functiond=jiefang(a)%列主元消元法解方程clearall;a=input('輸入矩陣a=');[row,column]=size(a);
fori=1:column%每一列的列標
m(i)=i;
s(i)=0;
x(i)=0;
end
fork=1:row-1%最后一行不用比較
e=a(k,k);
p=k;
q=k;
fori=k:row
forj=k:column-1
ifabs(a(i,j))>abs(e)
e=a(i,j);
p=i;
q=j;
elsec=0;
end
end
end
t=m(k);%換列標記
m(k)=m(q);
m(q)=t;
fori=1:row
%列交換
t=a(i,k);
a(i,k)=a(i,q);
a(i,q)=t;
end
forj=k:column
%行變換
t=a(k,j);
a(k,j)=a(p,j);
a(p,j)=t;
end
ifa(k,k)==0
%消元
disp('非唯一解')
else
fori=k+1:row
r=a(i,k)/a(k,k);
forj=k:column
a(i,j)=a(i,j)-r*a(k,j);
end
end
end
end
ifa(row,row)==0
disp('非唯一解')
else
s(row)=a(row,column)/a(row,row);
s(row)
q=m(row);
x(q)=s(row);
fori=row-1:1
forj=i+1:row
s(i)=s(i)+a(i,j)*x(i);
end
s(i)=[a(i,column)-s(i)]/a(i,i);
q=m(i);
x(q)=s(i);
end
end
fori=1:row
x(i)
end
end
4.兩矩陣相乘functiond=chengfa(A,B)%
實現兩個矩陣相乘clearall;A=input('輸入矩陣A=');B=input('輸入矩陣B=')[mn]=size(A);[nbp]=size(B);C=zeros(m,p);ifn~=nb
disp('不滿足矩陣相乘條件')elsefori=1:m
forj=1:p
d=0;
fork=1:n
d=d+A(i,k)*B(k,j);
end
C(i,j)=d;
endend
disp('矩陣AB結果為:')
C
End
5.矩陣元素最大值及下
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 濟南面試英語真題及答案
- 《校園飲食安全普及》課件
- 建筑成本估算教學課件
- 兒童顱內高壓的診療新進展:課件展示
- 《角膜及結膜疾病護理指南》課件
- 黑龍江中考英語真題單選題100道及答案
- 《餐廳服務禮儀》課件
- 應收賬款壞賬準備
- 如何提高對市場-競爭對手的敏感度
- 《穿越時光隧道》課件
- 軍工科研招投標行為規范須知
- 矢車菊簡介課件
- 幼兒園食堂主要負責人食品安全崗位職責
- 《散貨船結構簡介》課件
- 創業法律風險防范知到智慧樹章節測試課后答案2024年秋溫州大學
- 高壓設施維修合同范例
- AI新時代算力需求高增長-算力網絡建設有望奔向太空
- 走向未來:國際經濟合作(青島工學院)知到智慧樹章節答案
- 2024屆考研199管理類綜合能力真題及解析完整版
- 腸梗阻合并糖尿病護理查房
- DB32T-無錫水蜜桃標準
評論
0/150
提交評論