2016-07-04 6 views
0

私は最近、私の仕事の一部で、matlabプロジェクトで作業している初心者です.kの異なる値(コードサマリーで説明した通り)の計算をしなければなりません。問題は、コードをもう一度コピー/貼り付けせずに、別のkで計算をやり直すにはどうすればいいですか?異なる値を使って計算を繰り返す方法

clc 
clear 
Tinf = 15; 
h = 100; 
Tb = 200; 
k = 204; 
L = 9e-2; 
DL = L/9; 
D = 3e-2; 
A = zeros(170,170); 
C1 = -k * pi * (D/8)^2/DL; 
C2 = -k * DL * pi/4 * D/8/(D/4); 
Cntr = 1 : 17 : 170; 
Con = zeros(170,1); 
%rest of the code which has variables of K 
+2

機能。 :-)関数への入力としてkを使います。 –

+0

身体のいくつかの制限のために、私は機能を使用することはできません。 –

+2

"_limitations in the body_" ...関数を使うことができない理由を明示してください。なぜなら、あなたの質問に対する最も直接的な答えなのですから。実際に関数を使用できない場合は、計算を少なくとも1回繰り返してコードを提供してください。その結果、何が複製されているか、流線型化する方法を正確に知ることができます。 – Hoki

答えて

2

clc 
clear 

kに割り当てる線をドロップ。その後、上部に線

function result=calculation(k) 

を添加することによって(と呼ばれる、例えば、calculation)関数の代わりに、スクリプトファイルのファイルにそれを回します。あなたの計算では、答えをresult変数のままにしておきます。それはあなたの関数から返されます。

2

は、ここで無名関数を使用して、そのために短いコードです:

% Parameters: 
L = 9e-2; 
DL = L/9; 
D = 3e-2; 

% Functions: 
C1 = @(k) -k * pi * (D/8)^2/DL; 
C2 = @(k) -k * DL * pi/4 * D/8/(D/4); 

% Variable (assuming the calculation is on int from 1 to 100): 
k = 1:100; 

% Result: 
y1 = C1(k) 
y2 = C2(k) 

y1は、単に機能C1(k)の結果、およびy2でも同じです。 十分にはっきりしていますか?)

+0

私は質問を編集しました、あなたは正しいですが、コードはc1とc2だけではなく、160行に続きます。どうもありがとうございます。 –

+1

'function y = calc(k)'のような関数ですべてをワープすることができず、最後に 'y = C1(k)+ C2(k) 'のようなものを追加して' k = 1: '? – EBH

+0

私はただ1つの.mファイルを配送しなければならず、たくさんのk変数があり、それらをすべてkの関数に変換することはできません。 –

関連する問題