Question: How to convert Matlab codes to Maple code

Any one can help me to convert matlab codes to maple.Matlab_code.mw
 

> 

%Finite element method code for solving bvp nonlinear ODEs%

> 

% u''+uu'-u=exp(2x), u(0)= 1, u(1)=e     %

> 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

> 

function FEM_Code()

> 

clear all; close all; clc

> 

n=5;                     % NO of element

> 

nn=n+1;                  % No of nodes

> 

lgth=1;                  % Domain length

> 

he=lgth/n;               % lenth of each elemnet

> 

x=[0:he:lgth];           % Data point for independant variable

> 

AC=0.00005;              % Accuracy

> 

F=zeros(nn,1);           % Initialization

> 

F(1)=exp(0); F(nn)=exp(1);  % Boundary conditions

> 

 

> 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

> 

% Direct Iterative process to handle nonlinear problem

> 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

> 

c=1.0;

> 

count=0;                   % Initializations for count for iterations

> 

tic                        % Time start

> 

while (c>0)

> 

        [F1]=assembly(F,n,he);

> 

          c=0.0;

> 

          for i=1:nn

> 

            if (abs(F(i)-F1(i))>AC)

> 

                 c=c+1;

> 

                 break;

> 

            end

> 

          end

> 

         F=F1;

> 

         count=count+1;

> 

end

> 

  disp('Hence solution=:');

> 

  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

> 

  % Output for prinmary and secondary variables %%%

> 

  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

> 

  diff=abs(F-exp(x)');

> 

  fprintf('No of element=%d\n',n)

> 

  disp('      x       FEM          Exact       Error')

> 

  disp([x',F,exp(x)',diff])

> 

  fprintf('No of iterations=%d\n',count)

> 

  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

> 

  %%% Ploting of primary variable %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

> 

  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

> 

  

> 

  plot(x,F,'--rs','Linewidth',2)

> 

  xlabel('x')

> 

  ylabel('u(x)')

> 

  title('solution plot to given BVP')

> 

  toc                                % given totlal time

> 

  

> 

end

> 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

> 

%%% Derivative of element matrix and Assembly%%%%%%%%%%%%%%%%%%%%

> 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

> 

 

> 

function [F1]=assembly(F,n,he)

> 

nn=n+1;

> 

k = zeros(nn,nn);               % Initialization of main Matrix

> 

R = zeros(nn,1);                % Initialization of RHS Matrix

> 

syms x                          % x as symbolic variable

> 

s=[1-x/he,x/he];                % linear shape function

> 

ds=diff(s,x);                   % Differentiations of shape function

> 

lmm =[];

> 

for i=1:n

> 

    lmm=[lmm;[i,i+1]];          % connectvity Matrix

> 

end

> 

for i=1:n

> 

    lm=lmm(i,:);

> 

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

> 

    %%% Generation of Element Matrix k11 and RHS Matrix f1%%%%%%%%%%

> 

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

> 

    k11=-int(ds'*ds,x,0,he)+(int(s'*ds*s(1),x,0,he)*F(lm(1))...

> 

        +int(s'*ds*s(2),x,0,he)*F(lm(2)))-int(s'*s,x,0,he);

> 

    f1 = int(exp(2*(x+(i-1)*he))*s',x,0,he);

> 

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

> 

    %%% Assembly accroding to connectivity Matrix%%%%%%%%%%%%%%%%%%%%

> 

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

> 

    

> 

    k(lm,lm) = k(lm,lm) + k11;

> 

    R(lm) = R(lm) + f1;

> 

end

> 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

> 

%%% Imposing Boundary Conditions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

> 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

> 

 

> 

k(1,:) = 0.0; k(nn,:) = 0.0;

> 

k(1,1) = 1.0; k(nn,nn) = 1.0;

> 

R(1,1) = F(1); R(nn,1) = F(nn);

> 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

> 

%%% Solution of equations (F1) %%%%%%

> 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

> 

 

> 

d = k\R;           % better than using inverse k*R

> 

F1 = d;

> 

end

> 

 

> 

    

> 

 

> 

                                

> 

 

> 

 

> 

 

> 

  

> 

        

> 

      

> 

 

> 

 

> 

 

> 

 

> 

 

> 

 


 

Download Matlab_code.mw

i am attaching the codes and file. i will be thankful to you .

Please Wait...