Multiplying Function Handles quad

2 次查看(过去 30 天)
Hi Guys , When I run this code below I get Error using * Inner matrix dimensions must agree. So whats your solution for this .
Error in f8>@(w)bb(w)*cc(w) (line 31)
f3 =@(w)bb(w)*cc(w);
Thanks .
code:
bb=@(w) (((1+w/wr*l)*vi/ccons).^(k-1));
cc=@(w) (2.71.^((-((1+w/wr*l)*vi/ccons)).^k));
f3 =@(w)bb(w)*cc(w);

采纳的回答

Torsten
Torsten 2015-3-20
f3 =@(w)bb(w).*cc(w);
Best wishes
Torsten.
  2 个评论
sarngon
sarngon 2015-3-20
Thanks ,
Can You explain why should I use dot there ?
Torsten
Torsten 2015-3-20
w is a vector, say w=(w1,w2,...,wn), and the value of your function to be integrated at positions
w=(w1,w2,...,wn) is
(bb(w1)*cc(w1),bb(w2)*cc(w2),...,bb(wn)*cc(wn))
Thus you must use elementwise multiplication to get
(bb(w1),bb(w2),...,bb(wn)).*(cc(w1),cc(w2),...,cc(wn))=
(bb(w1)*cc(w1),bb(w2)*cc(w2),...,bb(wn)*cc(wn)).
Best wishes
Torsten.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Programming 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by