function write_cbg(system_name,system_type,system); ############################################################### ## Version control history ############################################################### ## $Id$ ## $Log$ ## Revision 1.1 1998/08/25 05:55:10 peterg ## Initial revision ## ############################################################### fid=fopen([system_name,"_cbg.m"], "w");# Open file StatusFormat = " %s.%s.%s.status = %i;\n"; Bformat = " %s.bonds = [\n"; fprintf(fid,"function [%s] = %s_cbg\n", system_name, system_name); fprintf(fid,"# This function is the causal bond graph representation of %s\n",system_name); fprintf(fid,"# Generated by MTT on %s",ctime(time)); fprintf(fid,"# The file is in Octave format\n"); fprintf(fid,"\n# Acausal bond graph structure\n"); fprintf(fid," [%s] = %s_abg;\n", system_name, system_name); fprintf(fid,"\n# Status information\n"); if struct_contains(system,"ports") for [port,name]=system.ports fprintf(fid,StatusFormat,system_name,"ports",name,subsystem.status); endfor; endif if struct_contains(system,"subsystems") for [subsystem,name]=system.subsystems fprintf(fid,StatusFormat,system_name,"subsystems",name,subsystem.status); endfor; endif [N,M]=size(system.bonds); # Bonds fprintf(fid,"\n# Causal bond information\n"); fprintf(fid,Bformat,system_name); for i=1:N fprintf(fid," "); for j=1:M fprintf(fid,"%i ", system.bonds(i,j)); endfor; fprintf(fid,"\n"); endfor; fprintf(fid," ];\n"); fclose(fid);