Anonymous function only returns single answer

1 view (last 30 days)
I have a function where its inputs are two arrays. How do I get the function to return an array of values rather than one single value? The value returned for b is -5.6e-4. Thanks
Code shown here:
x=pi:pi/100:2*pi;
y=x.^2;
z = @(a,b) ((sin(a)+cos(b))/((a.^2)+(b.^2)));
b = z(x,y);

Accepted Answer

Matt J
Matt J on 21 Mar 2023
Edited: Matt J on 21 Mar 2023
Use the elementwise division operator ./
x=pi:pi/100:2*pi;
y=x.^2;
z = @(a,b) ((sin(a)+cos(b))./((a.^2)+(b.^2)));
b = z(x,y)
b = 1×101
-0.0084 -0.0075 -0.0063 -0.0050 -0.0035 -0.0021 -0.0007 0.0006 0.0017 0.0026 0.0033 0.0036 0.0037 0.0035 0.0030 0.0023 0.0014 0.0004 -0.0007 -0.0019 -0.0031 -0.0041 -0.0050 -0.0058 -0.0063 -0.0066 -0.0066 -0.0064 -0.0060 -0.0054
  2 Comments
Matt J
Matt J on 22 Mar 2023
You're quite welcome, but please Accept-click the answer to indicate that your question is resolved.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!