how to change variable value from another function

Hi, is there any way to change the value of a and b without change the function's signature. like global variable in c?

1 Commento

Stephen23
Stephen23 il 22 Giu 2018
Modificato: Stephen23 il 22 Giu 2018
"is there any way to change the value of a and b without change the function's signature"
There may well be, but it would be buggy, quite horrible code. Ugh, global variables....
I think the more important question is why do you want to do this? What is your actual reason for specifying "...without change the function's signature"? Why can't you change the function, or use function parameterization? It seems to me that this question shows a very high probability of this problem:
What is the real issue that you are having?

Accedi per commentare.

 Risposta accettata

If by "implementation of brent" you mean Brent's method, depending on how that's implemented you may be able to write your function that accepts a, b, and c as inputs and use one of the parameterizing techniques from this documentation page to fix a and b and let the Brent's method implementation call the parameterized function with values for c as Stephen suggested.

Più risposte (1)

yon am
yon am il 22 Giu 2018
Modificato: yon am il 22 Giu 2018
i found this
function [n] =try_b(t)
global a
global b
a=a*t;
b=b*(1-t);
i can't change the signature because i am using implementation of brent and i should pass this function as a variable to brent function which gets a function with one argument.

2 Commenti

@yon am: don't use global variables. Parameterizing the function is more efficient, and less buggy.
thanks a lot

Accedi per commentare.

Richiesto:

il 22 Giu 2018

Commentato:

il 22 Giu 2018

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by