using Matlab in science problem

I use Finite Difference Method (FDM) in two dimension in my thesis. I want to write my program for FDM method in two dimension in MATLAB, but I couldn't find suitable function for my program, for example I want to solve bellow equation by MATLAB:
alfaf * F(ix ,j)
+ deltaf* F(ix-1,j)
+ miuf * F(ix,j-1)
- landaf* F(ix+1,j)
- Af * F(ix,j+1)
= 0

4 个评论

witch one of the values is a constant and witch one is a variable?
You need to give more information here. I reformated the question to be readable. What have you tried, which are the unknowns. Do you know how to write a function in MATLAB?
Dear Friend;
Please find my complete program that has many errors as bellow answer.
Regards
Farnaz
With many thanks for your kind reply to me, please find the program that I wrote as attached. Please be informed that my equation is a kind of partial differential equation (like laplace equation). F functions are Variable & alfaf, deltaf, miuf, Af are my constant, but they are depended on degrees.
my programm:
% edit program
% example 13900328
clc
clear all
N=input('N=');
% created Boundry condition
kk=0;
for ix=1:N-1;
for j=1:N-1;
kk=kk+1;
%kissi=input('Please input kissi: ');
%Etta=input('Please input Etta: ');
o=0.0000001;
%L=input('Please input L: ');
L=1;
%Omega=input('Please input Omega: ');
Omega=1;
%miu0=input('Please input miu0: ');
h=-pi+0.00000001;
miu0=0.74;
%epsilon0=input('Please input epsilon0: ');
epsilon0=1;
%Betta=input('Please input Betta: ');
Betta=1;
C=3*10^8;
DeltaEtta = L / (N-1);
DeltaKissi = 2 * pi /(N-1);
Etta(ix)=o+(ix-1)*DeltaEtta;
Kissi(j)=h+(j-1)*DeltaKissi;
Etta=Etta(ix);
Kissi=Kissi(j);
k(ix,j) = (2*L.^2).*(((Omega.^2).*epsilon0.*miu0.*(L^2).*(Etta^2).*(cosh(Etta)-sinh(Etta))-(Betta^2).*sinh(Etta).*(cosh(Etta)-cos(Kissi)).*(1-cosh(Etta).*cos(Kissi)))./((Omega^2).*epsilon0.*miu0.*(L^2)*sinh(Etta.^2).*(((Omega.^2)).*epsilon0.*miu0.*(L^2).*sinh(Etta.^2)-2*(Betta.^2).*(cosh(Etta)-cos(Kissi)).^2)+(Betta.^4).*(cosh(Etta)-cos(Kissi)).^4));
q(ix,j) = ((2*L.^2.*(Betta).^2.*sinh(Etta).^2.*sin(Kissi).*(cosh(Etta)-cos(Kissi)))./((Omega).^2.*epsilon0.*miu0.*L.^2.*sinh(Etta).^2.*((Omega).^2.*epsilon0.*miu0.*L.^2.*sinh(Etta).^2.-2.*(Betta).^2.*(cosh(Etta)-cos(Kissi)).^2)+(Betta).^4.*(cosh(Etta)-cos(Kissi)).^4));
GammaT2(ix,j) = ((Omega).^2.*epsilon0.*miu0-(Betta).^2.*((cosh(Etta)-cos(Kissi)).^.2./L.^2.*sinh(Etta)^2));
alfaprim(ix,j) = ((((Betta*sin(Kissi)*(cosh(Etta)-cos(Kissi))^2)/L^3*sinh(Etta))* ...
(-k(ix,j)-(q(ix,j)*(1-cosh(Etta)*cos(Kissi))/(sinh(Etta)*sin(Kissi))-(2/(GammaT2(ix,j))* ...
(DeltaEtta))-(q(ix,j)*(cosh(Etta)-cos(Kissi))/(sin(Kissi)*(DeltaEtta)))+(k(ix,j) * ...
(cosh(Etta)-cos(Kissi))/(sin(Kissi)*(DeltaKissi)))-2*(1-cosh(Etta)* ...
cos(Kissi))/(GammaT2(ix,j))* sin(Kissi)*(DeltaKissi)*sinh(Etta)*(DeltaKissi)))));
deltaprim(ix,j) = (((Betta*sin(Kissi)*(cosh(Etta)-cos(Kissi))^2)/L^3*sinh(Etta))* ...
(2/((GammaT2(ix,j))*(DeltaEtta))+q(ix,j)*(cosh(Etta)-cos(Kissi))/(sin(Kissi)*(DeltaEtta))));
miuprim(ix,j) = ((-(Betta*(cosh(Etta)-cos(Kissi))^2)/L^3*sinh(Etta))* ...
(k(ix,j)*(cosh(Etta)-cos(Kissi))/(DeltaKissi))-2*(1-cosh(Etta)*cos(Kissi)) ...
/((GammaT2(ix,j))*sinh(Etta)*(DeltaKissi)));
alfa(ix,j) = ((((Omega)*(cosh(Etta)-cos(Kissi))^2)/L^2)*((-2/((GammaT2(ix,j))*(DeltaEtta)^2)) ...
-(2/((GammaT2(ix,j))*(DeltaKissi)^2))+(k(ix,j)/(DeltaEtta))+(1-cosh(Etta)*cos(Kissi))/ ...
((GammaT2(ix,j))*sinh(Etta)*(cosh(Etta)-cos(Kissi))*(DeltaEtta))+q(ix,j)/(DeltaKissi)- ...
(sin(Kissi)/(GammaT2(ix,j)*DeltaKissi*cosh(Etta)-cos(Kissi)))));
Delta(ix,j) = ((((Omega)*(cosh(Etta)-cos(Kissi))^2)/L^2)*(1/(DeltaEtta)^2-k(ix,j)/(DeltaEtta)- ...
(1-cosh(Etta)*cos(Kissi))/((GammaT2(ix,j))*(DeltaEtta)*sinh(Etta)*(cosh(Etta) - cos(Kissi)))));
landa(ix,j) = (((Omega)*(cosh(Etta)-cos(Kissi))^2)/((L^2)*(GammaT2(ix,j))*(DeltaEtta)^2));
A(ix,j) = (((Omega)*(cosh(Etta)-cos(Kissi))^2)/((L^2)*(GammaT2(ix,j))*(DeltaKissi)^2));
miu(ix,j)=(((Omega)*(cosh(Etta)-cos(Kissi))^2)/((L^2)*(GammaT2(ix,j))*((1/(DeltaKissi)^2)- ...
(q(ix,j) /(DeltaKissi))+(sin(Kissi)/(DeltaKissi)*(GammaT2(ix,j))*(cosh(Etta)-cos(Kissi))))))
alfaf=alfaprim-i.*alfa;
Deltaf=deltaprim-i.*Delta;
miuf=miuprim-i.*miu;
landaf=i.*landa;
Af=i.*A;
%B=rand(N-1,1);
% AA=rand(N-1,N-1);
%F=rand(N-1,1);
F(ix,j)=(-1./alfaf).*(Deltaf.*F(ix-1,j)+miuf.*F(ix+1,j)-Af.*F(ix,j+1));
B(kk,1)=-subs(F(ix,j),{F(ix,j),F(ix+1,j)},{0,0});
AA(ix,j)=subs(F(ix,j),{F(ix+1,j)},{0,0})-B(kk,1);
% Boundry Condition
if (ix==1)
F(ix,j)=2*i;
if (ix==N)
F(ix,j)=3*i;
if (j==1 || j==N)
F(ix,1)=1+i*1.5;
F(ix,N)=1+i*1.5;
alfaf*F(ix,j)+Deltaf*F(ix-1,j)+miuf*F(ix,j-1)-landaf*F(ix+1,j)-Af*F(ix,j+1)==0;
end
end
end
end
end
Thank you & Best Regards
Farnaz

请先登录,再进行评论。

回答(0 个)

类别

帮助中心File Exchange 中查找有关 Sciences 的更多信息

产品

标签

尚未输入任何标签。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by