MATLAB Answers

problem with plotting a 1D graph

72 views (last 30 days)
A Achbak
A Achbak on 1 Dec 2020
Commented: A Achbak on 3 Dec 2020
Hi,
I have solved a 2D time problem U(x,y,t), 0<=x,y<=L and 0<=t<=T, by FEM and i get
trisurf(TRI,x,y,U(:,N)) % N number of time steps
% TRI triangle for create mesh
My question is how to write Matab code to see plot 1D for U solution of this problem if I choose for example : U(5,6,t) for all 0<=t<=T and U(x,5,0.15) for 0<=x<=L.
(To simulate 1D problem through a 2D problem ) this what i try write plot but it is not correct
% plot of time : U(5,6,t)
t=linspace(0,2,0.15);
for i=1:np % np number of nodes
find(x(m)==5 & y(m)==6)
end
plot(t,U(:,t))
%%%%%%%%%%%%%
% plot of x : U(x,5,0.15)
t=0.15;
for i=1:np % np numbers of nodes
find(y(m)==5
end
plot(x,U(:,t)
Please i need help
Thanks

Answers (1)

Stephan
Stephan on 2 Dec 2020
Edited: Stephan on 2 Dec 2020
You dont save the results of find anywhere - try:
% plot of time : U(5,6,t)
t=linspace(0,2,0.15);
for i=1:np % np number of nodes
U(i,:) = find(x(m)==5 & y(m)==6)
end
plot(t,U)
  1 Comment
A Achbak
A Achbak on 3 Dec 2020
Thanks @Stephan for answer my question, but i think i give you my mistaken information.
Look my code what i did it for solving 2d problem and see plot2D :
% i have a list of Nodes
x=Nodes(:,2); y=Nodes(:,3);
np=size(x,1); %number of nodes
T=1;N=21; dt=T/N-1;
for k=1:N
t(k)=(k-1)*dt;
L(:,k+1)=g(x,y,t(k+1)) % a simple function dependant time
b(:)=M+L(:,k+1); % M is a matrix
% solver problem
U(:,k+1)=A\b(:);
end
% Resultat
figure()
trisurf(TRI,x,y,U(:,N))
What I want is to see plot 1D of U(x,pi/2,0.15) solution of this problem with choosing value y=pi/2 and t=0.15 :
plot(x,????)
I apologize for any difficultes that and please help me if you have time
Thanks

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!