how to change variable value from another function

4 Ansichten (letzte 30 Tage)
yon am
yon am am 22 Jun. 2018
Kommentiert: yon am am 22 Jun. 2018
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 Kommentar
Stephen23
Stephen23 am 22 Jun. 2018
Bearbeitet: Stephen23 am 22 Jun. 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?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Steven Lord
Steven Lord am 22 Jun. 2018
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.

Weitere Antworten (1)

yon am
yon am am 22 Jun. 2018
Bearbeitet: yon am am 22 Jun. 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 Kommentare
Stephen23
Stephen23 am 22 Jun. 2018
@yon am: don't use global variables. Parameterizing the function is more efficient, and less buggy.
yon am
yon am am 22 Jun. 2018
thanks a lot

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by