當前位置:首頁 » 操作系統 » matlab迭代演算法程序

matlab迭代演算法程序

發布時間: 2022-11-01 09:52:43

⑴ 求迭代分形的MATLAB程序

function
cycle6(px,py,r,n)
%px,py和r分別是大圓圓心坐標和半徑,n是迭代次數
%例子:
%cycle6(0,0,1,4);axis
equal
t=linspace(-pi,pi);
plot(r*cos(t)+px,r*sin(t)+py)
theta=pi/3*(0:5);
newr=r/3;
newpx=px+2*newr*cos(theta);
newpy=py+2*newr*sin(theta);
if
n>1
for
i=1:6
hold
on;cycle6(newpx(i),newpy(i),newr,n-1);
end
end

⑵ 怎樣在matlab中執行循環迭代

在matlab中執行循環主要是利用for語句。如下

x = 0.3;

for i = 1:1000

x = (x+2.5)*x;

end

在matlab中運行結果如圖:

算出來的X1000是無窮大

(2)matlab迭代演算法程序擴展閱讀

malab中循環的用法

循環輸出變數

for i=1:4

i

end

其中1:4代表一個行向量1 2 3 4,在matlab中,行向量的另外一個表示方法是[1 2 3 4],即for i=1:4等價於for i=[1 2 3 4],編寫程序時牢記一個點:對於某次固定的迭代,i會從這個向量中取一個值,該值可以參與循環中的計算。

修改迭代步長

例子:遍歷1~10之間的所有奇數

for i=1:2:10

i

end

其中1:2:10表示迭代從1開始,步長為2,最大不超過10,即代錶行向量1 3 5 7 9。

⑶ 用matlab做,牛頓迭代法

function [ A ] = cal( a,b,v )%a,b表示區間,v是精度

i=1;

x = (a+b)/2;

A=[i x];

t = x-(x^3-x-1)/(3*x^2-1);%迭代函數

while(abs(t-x)>v)

i=i+1;

x = t;

A = [A;i x];

t = x-(x^3-x-1)/(3*x^2-1);%迭代函數

end

A = [A;i+1 t];

end

運行結果:

>> format long;

>> cal(1,2,0.00001)

ans =

1.000000000000000 1.500000000000000

2.000000000000000 1.347826086956522

3.000000000000000 1.325200398950907

4.000000000000000 1.324718173999054

5.000000000000000 1.324717957244790

⑷ MATLAB簡單迭代法

z(1)=m;
z(2)=(z(1)+(m)/(z(1)))/2;
i=1;
while abs(z(i+1)-z(i))>=1.0000e-005
z(i+2)=(z(i+1)+(m)/(z(i+1)))/2;
i=i+1;
end
yf=z(i+1)
以上程序已經經過測試
別忘了:執行程序之前,先給m賦值,否則會報錯的!

⑸ 牛頓迭代演算法的matlab程序

% 用牛頓下山法求解方程
function [x,k]=myfun_newton(f,x0,emg)
% f表示非線形方程
% x0迭代初值,此種方法是局部收斂,初值要選擇恰當
% emg是精度指標
% k,u分別表示迭代次數和下山因子
% d1表示非線形方程f在x0處的導數值
[f1,d1]=feval(f,x0);
k=1;
x(1)=x(0);
x(2)=x(1)-f1/d1;
while abs(f1)>emg
u=1;
k=k+1;
[f1,d1]=feval(f,x(k));
x(k+1)=x(k)-u*f1/d1;
while abs(f2)>abs(f1)
u=u/2;
x(k+1)=x(k)-u*f1/d1;
[f2,d2]=feval(f,x(k+1));
end
end
這個收斂速度快,建議給你用下

⑹ 請問怎麼用matlab實現牛頓迭代法,有具體的代碼嗎,謝謝

牛頓迭代法matlab實現如下:
function [x_star,index,it] = Newton(fun,x,ep,it_max)
%求解非線性方程的牛頓法
%第一個分量是函數值,第二個分量是導數值
% x為初始點
% ep為精度,當 | x(k)-x(k-1) |<ep時,終止計算,預設值為1e-5
% it_max為最大迭代次數,預設值為100
% x_star為當迭代成功時,輸出方程的根
% 當迭代失敗,輸出最後的迭代值
% index為指標變數,當index=1時,表明迭代成功
% 當index=0時,表明迭代失敗(迭代次數>=it_max)
% it為迭代次數
if nargin<4 it_max=100;end
if nargin<3 ep=1e-5;end
index=0;k=1;
while k<it_max
x1=x;f=feval(fun,x);
x=x-f(1)/f(2);
if abs(x-x1)<ep
index=1;break;
end
k=k+1;
end
x_star=x;it=k;
程序示例如下:
fun=inline('[x^3-x-1,3*x^2-1]');
[x_star,index,it] = Newton(fun,1.5)

⑺ MATLAB函數迭代,這個程序怎麼編

p0=1;
v0=2;
%第一次迭代
k(1)=K(P0,V0);
p(1)=p (K(1));
V(1)=v (K(1));
%第2到第100次迭代
for i=2:100%假設迭代100次
k(i)=K(P(i-1),V(i-1));

p(i)=p (K(i));

V(i)=v (K(i));

end
%這樣就可以了,迭代幾次自己改,希望採納

⑻ 用MATLAB編出牛頓迭代法的程序

function newton(x0,e,N)
%輸入xo為估計的迭代初值,e為規定的誤差,N為最大迭代次數.
%輸出x,y為最後迭代的兩個近似根,k為迭代次數.
clc
format long;
disp('迭代次數 近似根')
k=0;
x1=0;
x2=x0;
while (abs(x2-x1))>e
x1=x2;
x2=x1-f(x1)./df(x1);
k=k+1;
if k>N
return;
end
%%%%%%記錄並輸出%%%%%%%%%
o1=sprintf('%3d',k);
o2=sprintf('%3.8f',x2);
OL=[o1,' ' o2];
disp(OL);
y(k)=x2;
end
%%%%畫圖%%%%%%%
i=1:k;
figure(2)
plot(i,y,'rD-')
grid on
xlabel('迭代次數')
ylabel('近似根')
title(['牛頓法求出的該方程的近似根 x^*=', num2str(x2,9)])
function y=f(x)
y=x^2/2-sin(x)-1;
function y=df(x)
y=x-cos(x);

⑼ 牛頓迭代法的matlab代碼

function y=f(x)
y=f(x);%函數f(x)的表達式
end
function z=h(x)
z=h(x);%函數h(x)的表達式
end x=X;%迭代初值
i=0;%迭代次數計算
while i<= 100%迭代次數
x0=X-f(X)/h(X);%牛頓迭代格式
if abs(x0-X)>0.01;%收斂判斷
X=x0;
else break
end
i=i+1;
end
fprintf(' %s%.4f %s%d','X=',X,'i=',i) %輸出結果

⑽ SOR迭代法 求MATLAB程序

迭代法 matlab實現代碼如下

function [x,n] = jacobi(A,b,x0,eps,varargin)

if nargin ==3

eps = 1.0e-6;

M = 200;

elseif nargin<3

disp('輸入參數數目不足3個');

return

elseif nargin ==5

M = varargin{1};

end

D = diag(diag(A)); %%求A的對角矩陣

L = -tril(A,-1); %%求A的下三角矩陣

U = -triu(A,1);%%求A的上三角矩陣

B = D(L+U);

f = D;

x = B*x0+f;

n = 1;%迭代次數

while norm(x-x0)>=eps

x0 = x;

x = B*x0+f

n = n+1;

if(n>=M)

disp('Warning:迭代次數太多,可能不收斂!')

return;

end

end

運行效果如下:

,A對稱正定,且0<ω<2,則解Ax=b的SOR方法收斂。

熱點內容
python實用代碼 發布:2025-05-13 22:19:41 瀏覽:842
dede資料庫的配置文件 發布:2025-05-13 22:19:08 瀏覽:966
給字元加密 發布:2025-05-13 22:12:32 瀏覽:972
資料庫系統實現答案 發布:2025-05-13 22:11:57 瀏覽:140
哪個軟體可以共存安卓 發布:2025-05-13 22:10:15 瀏覽:552
上傳宦妃天下野泉肉肉 發布:2025-05-13 22:10:10 瀏覽:408
洗眼睛解壓 發布:2025-05-13 21:58:28 瀏覽:272
c存儲指針 發布:2025-05-13 21:49:04 瀏覽:921
結繩編程軟體 發布:2025-05-13 21:49:03 瀏覽:850
解壓體育館 發布:2025-05-13 21:27:48 瀏覽:263