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

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".

 Akzeptierte Antwort

madhan ravi
madhan ravi am 11 Dez. 2018
Bearbeitet: madhan ravi am 11 Dez. 2018
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 Kommentare

yes sir i'm using 2015a version and please suggest me a method which i can use to run my code as im a beginner i dont know much about codes.
4*5 should be written as bsxfun(@times,4,5)
4/5 should be written as bsxfun(@rdivide,4,5)
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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by