How to define following function?

1 view (last 30 days)
Ajay Goyal
Ajay Goyal on 6 Feb 2017
Commented: the cyclist on 6 Feb 2017
I have two row vectors (say A1(1:5) and B1(1:5)). I wish to define a function 'a(t)' as given below. I am repeatedly getting error "Matrix dimensions must agree.". Can anyone help?
a=@(t) A1.*cos(B1*t) For ease: A=[1 2 3 4 5]; B=[9 1 2 6 4]
  1 Comment
the cyclist
the cyclist on 6 Feb 2017
This code works just fine for me.
A1=[1 2 3 4 5];
B1=[9 1 2 6 4];
a = @(t) A1.*cos(B1*t);
What are you trying to do next? Can you post the code that actually gives the error?

Sign in to comment.

Answers (1)

Star Strider
Star Strider on 6 Feb 2017
Try something like this:
A = [1 2 3 4 5];
B = [9 1 2 6 4];
[A1,B1] = meshgrid(A,B);
a = @(t) A1.*cos(B1.*t);
The function works for single values of ‘t’. You will have to evaluate ‘a(t)’ in a loop, because it produces a matrix (obviously) for every value of ‘t’. I leave that to you, because I do not know what you want to do with your function.

Categories

Find more on Mathematics in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!