Then I declared u as vector with three dimension;
u (h,i,j)
where h = 0, 1, 2 as physical component (eg: height, velocity, momentum)
i , j = 0, 1, 2, ..., n as row n column
So if we read u[0,1,1], it means height value at coordinate (1,1); u[1,1,1] is the velocity value; [2,1,1] is the momentum value at the same coordinate.
Trying some of properties of it. I found out that we can initialize all component of vector-u with this one line code
u:=fu(h[i,j],i,j);
so the component u(h,i,j) will filled. Notice that the function has vector (or in this case array) return value.
The code below show how I fill the value of component u(0, i, j)
unit Unit1;:)
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
const n=3;
type vector=array[0..2,0..n,0..n]of real;
type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
function fu(a:real;i,j:integer):vector;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation{$R *.dfm}
function tform1.fu(a:real;i,j:integer):vector;
begin
fu[0,i,j]:=a;
end;
procedure TForm1.FormCreate(Sender: TObject);
var i,j:integer;
h:array[0..n,0..n]of real;
u:vector;
begin
for i:=0 to n do begin
for j:=0 to n do begin
h[i,j]:=1;
u:=fu(h[i,j],i,j);
end;
end;
memo1.Text:='';
memo1.Lines.Append('h[1,1]='+floattostr(h[1,1]));
memo1.Lines.Append('u[0,1,1]='+floattostr(u[0,1,1]));
memo1.Lines.Append('u[0,2,1]='+floattostr(u[0,2,1]));
end;
end.
No comments:
Post a Comment