0
Bitte helfen Sie mir die folgenden Fehler loszuwerden:Warum ist x undefiniert?
result_g_p1 = conv_test(@g_p1);
Mein g_p1.m:
function endpoint = g_p1(x)
endpoint = -8/(x^3);
end
error: 'x' undefined near line 3 column 8
error: called from
conv_test at line 3 column 2
MAIN at line 17 column 1
error: evaluating argument list element number 1
error: called from
conv_test at line 3 column 2
MAIN at line 17 column 1
Innerhalb von main.m ich einfach anrufen
conv_test.m:
function conv_test_result = conv_test(g)
if (g(x) > 1) && (g(x) < 0) <--- Line 3
conv_test_result = fprintf('Convergent Test Result: The function is monotonically convergent! \n');
elseif (g(x) > -1) && (g(x) < 0)
conv_test_result = fprintf('Convergent Test Result: The function is oscillatory convergent! \n');
else (g(x) > 1)
conv_test_result = fprintf('Convergent Test Result: The function is divergent! \n');
end
end
Ich weiß nicht, warum sagt es x
nicht definiert ist, weil ich klar g_p1
innerhalb von conv_test
passieren.
Ihr Wert ist in ** g_p1 ** definiert und dieser "Endpunkt" wird in conv_test als ** x ** übergeben. – Micard
In '' main'' rufen Sie '' conv_test'' mit dem Parameter auf (die Funktion '' g_p1''). Innerhalb von '' conv_test_result'' wird diese Funktion nun '' g'' genannt. In Zeile 3 versucht man, '' g'' (also '' g_p1'') mit dem Parameter '' '' '' auszuwerten, aber Sie haben noch keinen Wert für '' x'' innerhalb von '' zugewiesen conv_test'', so dass das Programm nicht weiß, welcher Wert in '' g_p1'' übergeben werden soll. –