حل عددی معادله پخش در یک بعد+ Matlab Code
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
برای دریافت بقیه حل تصاویر را دریافت کنید
کد:
http://stashbox.org/914893/2.jpg
کد:
http://stashbox.org/914899/3.jpg
کد:
http://stashbox.org/914901/4.jpg
کد:
http://stashbox.org/914903/5.jpg
کد:
http://stashbox.org/914906/6.jpg
دریافت کد مطلب:
کد:
http://stashbox.org/914843/DiffusionPic.m
منبع :
Sadiku. Numerical Techniques in Electromagnetics(T)(750s)
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
حل معادلات خطی به روش تکرار ژاکوبی-Jacobi
کد:
function jacobi(A,b,x0,tol,itmax)
%Solve the system Ax=b using the jacobi iteration method.
clc
% =======================================================
% Programmer : A. Ziaee mehr
%
help jacobi
n=length(b);
x=zeros(n,1);
fprintf('\n')
disp('The augumented matrix is = ')
Augm=[A b]
Y=zeros(n,1);
Y=x0;
for k=1:itmax +1
for ii=1:n
S=0;
for jj=1:n
if (jj~=ii)
S=S+A(ii,jj)*x0(jj);
end
end
if (A(ii,ii)==0)
break
end
x(ii)=(-S+b(ii))/A(ii,ii);
end
err=abs(norm(x-x0));
rerr=err/(norm(x)+eps);
x0=x;
Y=[Y x];
if(rerr<tol)
break;
end
end
% Print the results
if (A(ii,ii)==0)
disp('division by zero')
elseif (k==itmax+1)
disp('No convergence')
else
%fprintf('\n')
disp('The solution vector are : ')
fprintf('\n')
disp('iter 0 1 2 3 4 ... ');
fprintf('\n')
for i=1:n
fprintf('%1.0f= ',ii);
fprintf('%10.6f ',Y(ii,1:k+1));
fprintf('\n')
end
fprintf('\n')
disp(['The method converges after ',num2str(k),' iterations to'])
x
end
---------- Post added at 02:30 AM ---------- Previous post was at 02:29 AM ----------
کد:
function seidel(A,b,x0,tol,itmax)
%Solve the system Ax=b using the Gauss-Seidel iteration method.
clc
% =======================================================
% Programmer : A. Ziaee mehr
%
help seidel
n=length(b);
x=zeros(n,1);
%fprintf('\n')
disp('The augumented matrix is = ')
Augm=[A b]
Y=zeros(n,1);
Y=x0;
for k=1:itmax +1
for ii=1:n
S=0;
for jj=1:ii-1
S=S+A(ii,jj)*x(jj);
end
for jj=ii+1:n
S=S+A(ii,jj)*x0(jj);
end
if (A(ii,ii)==0)
break
end
x(ii)=(-S+b(ii))/A(ii,ii);
end
err=abs(norm(x-x0));
rerr=err/(norm(x)+eps);
x0=x;
Y=[Y x];
if(rerr<tol)
break;
end
end
% Print the results
if (A(ii,ii)==0)
disp('division by zero')
elseif (k==itmax+1)
disp('No convergence')
else
%fprintf('\n')
disp('The solution vector are : ')
fprintf('\n')
disp('iter 0 1 2 3 4 ... ');
fprintf('\n')
for ii=1:n
fprintf('%1.0f= ',ii);
fprintf('%10.6f ',Y(ii,1:k+1));
fprintf('\n')
end
fprintf('\n')
disp(['The method converges after ',num2str(k),' iterations to'])
x
end
---------- Post added at 02:31 AM ---------- Previous post was at 02:30 AM ----------
رای حل معادلات n معادله n مجهولی که یک معادله ماتریسی به شکل Ax=b را تشکیل می دهند (A ماتریس ضرایب است x مجهولات و b هم معلوم طرف راست معادله )
بایید معکوس ماترس A را پیدا کرد یعنی جواب معادله به شکل x مساوی A به توان (منفی یک) در b می شود
برای پیدا کردن معکوس ماتریس روش های زیادی وجود دارد که به دو دسته مستقیم و روش های تکرار دسته بندی می شوند
که هر یک از این روش ها در بعضی مسائل می توانند بهتر عمل کنند
ولی روش های تکرار کاربرد بیشتری دارند.
روش های مستقیم مثل حذف گاوس (Gauss Elimination) و روش های تکرار که جواب را با یک حدس اولیه شروع می کنند و در هر تکرار جواب را تصحیح می کنند مانند روش ژاکوبی و گاوس سیدل.
کد های متلب هم همراه روش ها هست.
سر فصل های یک کتاب که تو این زمینه است را می گذارم
خود کتاب را می توانی از اینجا دریافت کنید.
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
System of Linear Equations 71
2.1 Solution for a System of Linear Equations / 72
2.1.1 The Nonsingular Case (M = N) / 72
2.1.2 The Underdetermined Case (M <N): Minimum-Norm
Solution / 72
2.1.3 The Overdetermined Case (M >N): Least-Squares Error
Solution / 75
2.1.4 RLSE (Recursive Least-Squares Estimation) / 76
2.2 Solving a System of Linear Equations / 79
2.2.1 Gauss Elimination / 79
2.2.2 Partial Pivoting / 81
2.2.3 Gauss–Jordan Elimination / 89
2.3 Inverse Matrix / 92
2.4 Decomposition (Factorization) / 92
2.4.1 LU Decomposition (Factorization):
Triangularization / 92
2.4.2 Other Decomposition (Factorization): Cholesky, QR,
and SVD / 97
2.5 Iterative Methods to Solve Equations / 98
2.5.1 Jacobi Iteration / 98
2.5.2 Gauss–Seidel Iteration / 100
2.5.3 The Convergence of Jacobi and Gauss–Seidel
Iterations / 103
Problems / 104
---------- Post added at 02:33 AM ---------- Previous post was at 02:31 AM ----------
کد:
%Script file
% This programm Plot The solution of schrodinger Equation for a single
% quantum well Sai=A sin(kz) , k=n*pi/L
%% initialisation
clear
clc
z=0:.1:100; %Spatial coordinate
d=100; % width of well
%% Main loop
for t=1:5
n=1:1001;
y(t,n)=sin(t*pi*z/d);
end
%% Ploting the results
plot(z,y)
legend('n=1','n=2','n=3','n=4','n=5')
axis([0 100 -2.1 2.1])