Ich möchte mehrere abhängige Funktionen wie diese im Code aufrufen.Wie mehrere abhängige Funktionen aufrufen?
function [k11,k12] = k_fun()
% syntax is : function [outputs] = function-name(inputs)
a=2.0;
k11 = quad(B1,B1,a); %error
% For k11, I want to call function b_fun and select only B1,B2 to pass to function quad.
k12 = quad(B1,B2,a);
endfunction
function [B] = b_fun(x)
B1 = -0.5+x;
B2 = 2.0*x;
B3 = 0.5+x;
B=[B1,B2,B3];
endfunction
function [value] = quad(B_i,B_j,a)
value=0
points = [0.57,-0.57];
wt=[1.0,1.0]
for (ct=1:1:2)
value = value + (B_i(points(ct))*B_j(points(ct))*a)*wt(ct);
end
endfunction
Ich möchte Funktion k_fun ausführen. Nach a=2.0
Es wird zu k11 Zeile gehen. Für k11
möchte ich B1
und B2
von b_fun()
erhalten, übergeben Sie es an quad()
. In quad()
werden die Funktionen ausgewertet.
Ich versuche k12 = B1(0.57)*B2(0.57)*a*1 + B1(-0.57)*B2(-0.57)*a*1
zu tun. Diese Werte, + -0,57, kommen in der Funktion quad
. Ich bekomme nicht, wie man B1
und B2
in der Linie %error
übergibt. Ich stehe beim Aufruf abhängiger Funktionen fest. Ich möchte das gleiche Programmformat (Variablen, die in den jeweiligen Funktionen definiert sind) beibehalten, weil das ursprüngliche Programm so läuft. Später möchte ich dieses Programm in C++ übersetzen, also möchte ich Standardfunktionen von Programmiersprachen anstelle von bestimmten verwenden.
Übrigens habe ich das Programm in Octave gestartet, also endfunction
statt end
in MATLAB.
Dritte Zeile des Codes.Dieses Argument wird jedoch durch 'quad()' übergeben. – user7423098
@ user7423098 Oh sorry, habe das nicht bemerkt. Mit einer Option aktualisiert. – Suever