when i run the following code its showing an error that dimensions must agree

2 次查看(过去 30 天)
w=(2.3.^-u.*log(1.+(0.5615./u)-0.4385*(((1.0421.*u))+(1/(1.+u.^1.5))+(1.0801./(1.+(2.35.*u.^(-1.0919))))))^-2./(0.5616+(0.4385+2.35.*2.3^(-2.283.*u))))
i want to calculate 'w' for a set of 'u' values.i'm confused while arranging '.' when i run this i get "error usin + and matrix dimensions must agree".

采纳的回答

madhan ravi
madhan ravi 2018-12-11
编辑:madhan ravi 2018-12-11
If you still have problem then use bsxfun() with mtimes and rdivide appropriately if your usig version prior to 2016b
w=(2.3.^-u.*log(1.+(0.5615./u)-0.4385.*(((1.0421.*u))+(1/(1.+u.^1.5))+(1.0801./(1.+(2.35.*u.^(-1.0919))))))^-2./(0.5616+(0.4385+2.35.*2.3^(-2.283.*u))))
^---dot missed
  5 个评论
vaishnavi potharaju
vaishnavi potharaju 2018-12-12
编辑:madhan ravi 2018-12-12
sir i tried to run my code with bsxfnc but as it is a very complex equation i couldnt do it.so i split the equation into small parts as follows and now im able to run it.
w=((2.3).^-u.*log(1.+(0.5615./u)-0.4385.*(((1.0421.*u))+(1./(1.+u.^1.5))+(1.0801./(1.+(2.35.*u^(-1.0919)))))).^-2./(0.5616+(0.4385*2.3.^(-2.2803.*u))))
w1=1.+(0.5615./u)
w2=1.0801./(1.+(2.35.*u.^(-1.0919)))
w3=1./(1.+u.^1.5)
w4=1.0421.*u
w5=2.3.^-u
w6=0.4385.*2.3.^(-2.2803.*u)
w7=0.4385.*(w4+w3+w2).^-2
w8=log(1+w1-w7)
w9=w8.*w5
w10=0.5616+w6
wu=w9./w10

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by