MATLAB Matlab m file function with multiple variables

AI Thread Summary
To integrate a MATLAB function with multiple variables, the correct approach is to use an anonymous function to specify the variables outside the main function. Instead of directly calling the function with `quadgk`, it should be called as `R=quadgk(@(t)myfun(t,a,b),0,Inf)` to properly pass the parameters a and b. Additionally, a user is experiencing issues with a timer in a MATLAB GUI, where the timer creates a new figure instead of updating the main figure. They seek assistance in resolving this issue. The discussion highlights the importance of correctly structuring function calls and managing GUI elements in MATLAB.
strokebow
Messages
122
Reaction score
0
Hi,

I have a MATLAB function m file and I want to integrate the function.

Code:
function y = myfun(t,a,b)

y = (1/(2*pi)).*(1./t)*(1i*(a+b));
end
Then when I call the integration in MATLAB I don't know how to specify a and b whilst integrating over t.

I need to be able to set a and b outside of the function m file and then call the integral.

R=quadgk(@myfun,0,Inf)
This command will not work. a and b need to be set. I want to set a and b (this can vary) and then run the integral. I have tried set a and b in the MATLAB workspace but that still doesn't work.

Please can anyone help?
** Also, please let me know if my explanation is not clear?

Thanks
 
Last edited:
Physics news on Phys.org
Solved it.

Its how you call the function.

It should be:

R=quadgk(@(t)myfun(t,a,b),0,Inf)

simples.
 
hi to all
I have a problem with timer in gui in matlab
i want to to show real time in gui figure but when run the timer mfile it create a new figure
seperatly from main figure

any one can help me?
if know a way for this problem please help me ...
my email address is : mhmz66@yahoo.com
tnx so mucho:)
 
Back
Top