problem with plotting a 1D graph

4 vues (au cours des 30 derniers jours)
Yamina chbak
Yamina chbak le 1 Déc 2020
Commenté : Yamina chbak le 3 Déc 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

Réponses (1)

Stephan
Stephan le 2 Déc 2020
Modifié(e) : Stephan le 2 Déc 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 commentaire
Yamina chbak
Yamina chbak le 3 Déc 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

Connectez-vous pour commenter.

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by