How to plot an anonymous function with multiple variables

99 views (last 30 days)
I need to plot a function that I have created as an anonymous function
I appreciate any help I can get!
Thanks!

Accepted Answer

Voss
Voss on 15 Jul 2022
With the function as given, you can calculate its value for each a in a loop:
Func2 = @(a,b,c) 20*b^2-4*a^6+20+4*c;
a = 0:0.25:10;
b = -3;
c = 8;
vals = zeros(size(a));
for ii = 1:numel(vals)
vals(ii) = Func2(a(ii),b,c);
end
and plot:
plot(a,vals,'.-')
Or you could vectorize the function and calculate its values for all a at once:
Func2 = @(a,b,c) 20*b.^2-4*a.^6+20+4*c; % now any of a,b,c can be a vector (or all of them, if they are the same size)
a = 0:0.25:10;
b = -3;
c = 8;
vals = Func2(a,b,c);
and plot:
plot(a,vals,'.-')
  2 Comments
Greg
Greg on 15 Jul 2022
Ah, I hadn’t even seen the vals function before. Thank you! What does the “.-“ do in the plot function?
Voss
Voss on 15 Jul 2022
vals is a variable I made to store the values of Func2 at the given a, b, c. The line
vals = Func2(a,b,c);
evaluates the function Func2 at a, b, c, and stores the result in vals.
.- plots the line using dots as a data marker ( . ) and using a solid line ( - )

Sign in to comment.

More Answers (0)

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!