how to change variable value from another function

3 views (last 30 days)
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 Comment
Stephen23
Stephen23 on 22 Jun 2018
Edited: Stephen23 on 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?

Sign in to comment.

Accepted Answer

Steven Lord
Steven Lord on 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.

More Answers (1)

yon am
yon am on 22 Jun 2018
Edited: yon am on 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.

Community Treasure Hunt

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

Start Hunting!