function [pmode,xvv]=plot_modes(ibc,mode,dof,dx) % disp(' '); dof_half=round(dof/2); % for j=1:dof_half % aq = sprintf(' Plot Mode %d ?',j); disp(aq); choice=input(' 1=yes 2=no 3=exit ' ); % % if(choice==3) pmode=zeros(dof_half); xvv=zeros(dof_half); break; end if(choice~=3) if(choice==1) at = sprintf(' Mode %d ',j); if(ibc==1) for i=1:dof_half pmode(i)=mode(2*i-1,j); end xv(1)=0.; for i=2:dof_half xv(i)=xv(i-1)+dx(i-1); end end if(ibc==2) pmode(1)=0.; xv(1)=0.; for i=1:dof_half pmode(i+1)=mode(2*i-1,j); xv(i+1)=xv(i)+dx(i); end end if(ibc==3) pmode(1)=0.; xv(1)=0.; for i=1:dof_half pmode(i+1)=mode(2*i-1,j); xv(i+1)=xv(i)+dx(i); pmode(i+2)=0.; xv(i+2)=xv(i+1)+dx(i+1); end end if(ibc==4) pmode(1)=0.; xv(1)=0.; for i=1:(-1+(dof_half)) pmode(i+1)=mode(2*i,j); xv(i+1)=xv(i)+dx(i); pmode(i+2)=0.; xv(i+2)=xv(i+1)+dx(i+1); end end % figure xvv=xv; plot(xvv,pmode) grid; set(gca,'MinorGridLineStyle','none','GridLineStyle',':','XScale','lin','YScale','lin'); title(at); xlabel('x (inch)'); ylabel('displacement'); end end end