2012-03-13 6 views
0
I have a function as below 
    function m=narkisos(a,b,c,x,y,z,t,rho) 
    m=a.*x+b.*y-z+c*exp(t-rho) 
    end 

その後、私が使用するスクリプトで:ループ内のクワッド数回

clear all; 
    a=1;b=2;c=3; 
    m=zeros(3,4,5,6); 
    t=[1 2 3]'; z=[2 3 4 5]'; 
    for i=1:length(t) 
    for j=1:length(z) 
    for s=1:5 
    for r=1:6 
    [email protected](rho)narkisos(a,b,c,s,r,z(j),t(i),rho); 
      m(i,j,s,r)=quad(f,0,t(i)); 
    end 
    end 
    end 
    end 

この部分の後、私は別のループ(4以上)ではなく、固定インデックスに再び私narkisosを使用する必要があり、例えば、 s = 2、r = 3である。各ループに別の関数を定義するか、それを呼び出す方法はありますか?私は各ループnarkisosに書き直すのが好きではありません。その理由は、 がコードの速度を落とすからです。任意の助け

for i=1:length(t) 
    for j=1:length(z) 

    **[email protected](rho)narkisos(a,b,c,2,3,z(j),t(i),rho);** 
      m(i,j,2,3)=quad(f,0,t(i)); 

    end 
    end 

多くのおかげで、私はあなたの質問、あなたの機能narkisosからmemoize呼び出したいを理解していれば

+0

なぜ投票が終了するのですか?これは、ここの質問の50%が到達する質問の明確さのレベルに達するようです。ちょっとした解釈があれば、それは合理的で、トピック上のプログラミング関連の質問です。 –

+0

@ハイパフォーマンスマーク、申し訳ありませんが、私はあなたの解釈を理解できませんでした。私は投票オプションを閉めましたか? – user1018331

答えて

1

。それは全く単純ではありませんが、私はLoren on the Art of Matlabがそのトピックをカバーしていることがわかります。 Lorenのブログにまだ慣れていない方なら、これは始めるのに適しています。私はMatlabを使って何年も彼女のことを学んできました。