雲雀は高く空を舞い このページをアンテナに追加 RSSフィード

「ひよこは高く空を舞い」について

2009-10-20

[]オブジェクト指向な書き方 at Matlab 2008a オブジェクト指向な書き方 at Matlab 2008a - 雲雀は高く空を舞い を含むブックマーク はてなブックマーク - オブジェクト指向な書き方 at Matlab 2008a - 雲雀は高く空を舞い オブジェクト指向な書き方 at Matlab 2008a - 雲雀は高く空を舞い のブックマークコメント

Matlab 2008aから、クラス定義の仕方とかが変わってずいぶん使いやすくなったようなのでメモ.以前のは使いづらかった記憶があって使ってなかったのでどういう風にやってたのか分からない…。(ので、ネスト関数使ってむちゃくちゃな書き方をしてた.)

リファレンス

リファレンスはこちら.Matlab R2008aのもの。

各種詳細な情報と例題へのリンク

記述例

classdef transducer<handle
    %<handleとすることでハンドルクラスのサブクラスと成る。これにより生成されるオブジェクトはすべて元オブジェクトのハンドル(参照渡しとなる
    properties
        soundspeed = 1540;
        samplingfrequency = 100e6;
        centerfrequency = 3.5e6;
        lambda
        temp=0
    end
    
    methods
        function obj = transducer(f0, fS)
            %% コンストラクタメソッド
            if nargin == 0
            elseif nargin == 1
                obj.centerfrequency = f0;
            else
                obj.centerfrequency = f0;
                obj.samplingfrequency = fS;
            end
        end
        
        function print_soundspeed(obj)
            %% method print
            disp([num2str(obj.tmp), ' : soundspeed = ', num2str(obj.soundspeed)])
            obj.temp = obj.temp+1;
        end
        
        function print_lambda(obj)
            lambda = obj.soundspeed / obj.centerfrequency;
            disp(lambda)
            obj.lambda = lambda;
        end
    end
end

1クラス1ファイル.class定義はclassdef ~ endブロックで。その中にインスタンス変数となる properties ~ endとメソッドをmethods ~ endそれぞれ定義する.

properties

インスタンス変数.properties~endブロックで定義する.ここで使用できるのは定数とmatlab式のみ。(変数は使えない!)

また、プロパティにたいして以下のようにして属性を指定できる

    properties (Hidden)
    % 外部から見えない
        propertyA
    end
   
    properties (Access=public) 
    % Access, SetAccess, GetAccess / Public, protected, private
    end
    
% Access / Get and Set
% GetAccess / Getのみ
% SetAccess / Setのみ
% Public アクセス制限なし
% protected クラスまたは導出クラスからのアクセス
% private  クラスメンバからのみアクセス

など。

methods

クラス名と同じmethodを定義する事でコンストラクタになる

つづく!



めも:めりも引っ越し めも:めりも引っ越し - 雲雀は高く空を舞い を含むブックマーク はてなブックマーク - めも:めりも引っ越し - 雲雀は高く空を舞い めも:めりも引っ越し - 雲雀は高く空を舞い のブックマークコメント

ついでにめりもも。

いままで

  • ちびめりも in fortissimo
  • めりも in dolcevita

これから

  • both of them are in dolcevita

lab系PCは音楽、us系は適当、labサーバ系はもっと適当

めも:クローラの配置かえた めも:クローラの配置かえた - 雲雀は高く空を舞い を含むブックマーク はてなブックマーク - めも:クローラの配置かえた - 雲雀は高く空を舞い めも:クローラの配置かえた - 雲雀は高く空を舞い のブックマークコメント

これから

on brain

huaxin, xichui, xuan

backup db_file to nas (at midnight)

on lark

download db_file from nas and make daily_stat_report

いままで

on lark

huaxin, xichui, xuan

make daily_stat_report

(no backup)

[] pythonからsftpを使いたい  pythonからsftpを使いたい - 雲雀は高く空を舞い を含むブックマーク はてなブックマーク -  pythonからsftpを使いたい - 雲雀は高く空を舞い  pythonからsftpを使いたい - 雲雀は高く空を舞い のブックマークコメント

シェルスクリプトとかかければそれでいいんだろなーとか思いつつ.pythonからsftpを使うにはsshを使えるモジュールparamikoを使う

paramikoの導入はubuntuなら

sudo apt-get install python-paramiko

macportなら

sudo port install py26-paramiko

でOK。

ファイルの転送は以下。

import os, paramiko

# prepare
server = sshserver
username = sshuser
password = sshpass

localfile = file0
remotefile = file0

# ssh connection
ssh = paramiko.SSHClient()
ssh.load_host_keys(os.path.expanduser(os.path.join('~', '.ssh', 'known_hosts')))
ssh.connect(server, username=username, password=password)

# file transfer via sftp
sftp = ssh.open_sftp()

sftp.chdir(targetdir)
sftp.put(localfile, remotefile)

sftp.close()
ssh.close()

変数をsftp越しにファイルに保存するには以下.

sftp = ssh.open_sftp()
remote_file = sftp.file(remotefile, “wb”)
remote_file.set_pipelined(True)
remote_file.write(data)
sftp.close()

まぁこんなかんじ。

tivhhxzuuditivhhxzuudi2011/03/04 17:4490lJzr <a href="http://idqudmeebpew.com/">idqudmeebpew</a>, [url=http://ojtxowrgzmqp.com/]ojtxowrgzmqp[/url], [link=http://fvecrqqbxlmi.com/]fvecrqqbxlmi[/link], http://dkoisewmuxcl.com/

トラックバック - http://chick.g.hatena.ne.jp/allegro/20091020
テクノラティプロフィール