Asked by Brian
on 6 May 2013

Hello,

I need to change this code so that I can plot some of the node names next to the plotted nodes on the figure when it is plotted. (the plot would be of finite elements). Is there a way to do this? Thanks for your time

function PolyMshr_PlotMsh(Node,Element,NElem,Supp,Load) % In order to use the Matlab patch function to plot the entire mesh at once, we create an element connectivity matrix ElemMat that is padded with NaNs clf; axis equal; axis off; hold on; Element = Element(1:NElem)'; %Only plot the first block MaxNVer = max(cellfun(@numel,Element)); %Max. num. of vertices in mesh % PadWNaN = @(E) [E NaN(1,MaxNVer-numel(E))]; %Pad cells with NaN ElemMat = cellfun(PadWNaN,Element,'UniformOutput',false); ElemMat = vertcat(ElemMat{:}); %Create padded element matrix patch('Faces',ElemMat,'Vertices',Node,'FaceColor','w'); pause(1e-6) if exist('Supp','var')&&~isempty(Supp)&&~isempty(Load)%Plot BC if specified plot(Node(Supp(:,1),1),Node(Supp(:,1),2),'b>','MarkerSize',8); plot(Node(Load(:,1),1),Node(Load(:,1),2),'m^','MarkerSize',8); hold off; end

Answer by per isakson
on 6 May 2013

The function

text( x, y, string )

will do that.

Show 2 older comments

per isakson
on 7 May 2013

To me *"some of the node names"* is a string. What do you mean?

Brian
on 7 May 2013

Sorry. I meant that there is an array (called fem.e ) which corresponds to these coordinates on the figure. Would I be able to print the numbers of the elements next to the element on the figure. thanks again

per isakson
on 7 May 2013

Yes,

text( x, y, sprintf( '#%i', the_number_of_the_element ) )

where x and y are retrieved from fem.e - I guess

Related Content

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today
## 0 Comments