How can i create a standard matlab template for new programs
    21 次查看(过去 30 天)
  
       显示 更早的评论
    
I like to have the same layout of my code every time i create a new program, at the moment i just copy and paste an .m file. But is there any way it start with the following comments and code each time i make a new file matlab file ?
%
%   Description: 
%
%   Author: Thor P. Nielsen
%   
%   Date: XX-XX-20XX
%
%   Comment: 
%
%   Tests run: 
clear; close; clc
ps. if you have any suggestions for more "stuff" i could/should include in every programme please let me know :)
1 个评论
  Sayyed Ahmad
      
 2018-6-18
				
      编辑:Sayyed Ahmad
      
 2018-6-18
  
			I creat some function which is called: CLASS_Template.m and used some KEY_CLASSNAME as a key in this template.
    {
    %codes of CLASS_Template:
    classdef test
        properties (SetAccess='public', GetAccess='public')
            prop;
        end 
        properties (SetAccess='private', GetAccess='public')          
        end
        properties(SetAccess='private', GetAccess='private')          
        end      
        methods
            function o=test(varargin)
                switch nargin
                    case 1
                        o.prop = varargin{1};
                    otherwise
                        error('the number of input proprties doesn''t macht.')
                end
            end          
            function display(o)
                disp('<a href="matlab: helpwin test">test properties:</a>')
                disp(o.prop);
            end     
            function disp(o)
                display(o)
            end     
            function help(o)
                helpwin test
            end
        end
    end
    }
in the second file called CreateClass would the Key replaced with the className.
{
function CreateClass(varargin)
    classname = varargin{1};
    dirname = ['@' classname];
    str_date=datestr(date,'dd.mmm.yyyy');
    [status,message,messageid]=mkdir(dirname);
    pause(1);
    fid = fopen('/Path_to_Template/CLASS_Template.m');
    F = fread(fid, '*char')';
    fclose(fid);
    F=strrep(F, 'KEY_CLASSNAME', classname);
    F=strrep(F, 'KEY_DATE', str_date);
    cd([pwd '\' dirname]);
    fid = fopen([classname '.m'], 'w');
    fwrite(fid, F);
    fclose(fid);
    open([classname '.m'])
end
}
Now you can run the following command
{
>>CreateClass test
}
Depending on your needs you could have more than one key.
I hope you have your answer.
cheers! Ahmad
采纳的回答
  Matt Fig
      
      
 2012-12-15
        
      编辑:Matt Fig
      
      
 2012-12-15
  
      You could put that code in an m-file then use COPYFILE to copy it to a new m-file, including the intended name.
Say your above template is saved as func_template.m and you want to make a new function named myfunc.m. Save this:
function [] = make_fun(V)
copyfile('func_template.m',V)
edit(V)
Then from the command line:
>> make_fun('myfunc.m')
4 个评论
更多回答(1 个)
  Image Analyst
      
      
 2012-12-15
        Here are some lines of code that you might consider putting at the top of your test scripts. Pick and choose which you want:
clc;    % Clear the command window.
close all;  % Close all figures (except those of imtool.)
imtool close all;  % Close all imtool figures if you have the Image Processing Toolbox.
clear;  % Erase all existing variables. Or clearvars if you want.
workspace;  % Make sure the workspace panel is showing.
format longg;
format compact;
% Change the current folder to the folder of this m-file.
if(~isdeployed)
  cd(fileparts(which(mfilename)));
end
% Check that user has the Image Processing Toolbox installed.
hasIPT = license('test', 'image_toolbox');
if ~hasIPT
  % User does not have the toolbox installed.
  message = sprintf('Sorry, but you do not seem to have the Image Processing Toolbox.\nDo you want to try to continue anyway?');
  reply = questdlg(message, 'Toolbox missing', 'Yes', 'No', 'Yes');
  if strcmpi(reply, 'No')
    % User said No, so exit.
    return;
  end
end
1 个评论
  Richard Crozier
      
 2018-4-23
				
      编辑:Richard Crozier
      
 2018-4-23
  
			Don't ever put clear or clc at the top of your test scripts. You'll regret it some day (or someone you work with will regret it). If you need a clean workspace, put the test in a function.
另请参阅
类别
				在 Help Center 和 File Exchange 中查找有关 Data Import from MATLAB 的更多信息
			
	产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




