How to define following function?

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 个评论

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?

请先登录,再进行评论。

回答(1 个)

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.

类别

帮助中心File Exchange 中查找有关 Mathematics 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by