??? Error using ==> times Matrix dimensions must agree.
1 次查看(过去 30 天)
显示 更早的评论
Happy New year to everyone. When I am executing the below given program, I got the error message " ??? Error using ==>times Matrix dimensions must agree." Please check the problem and help me to resolve the issue,
for p1=4:1:12
E1 = sqrt((p1^.2)-(Mc^.2));
f1 = 1./(exp(E1/T) + 1);
for p2=4:1:12
E2 = sqrt((p2^.2)-(Mc^.2));
f2 = 1./(exp(E2/T) + 1);
v_rel = sqrt(((p1^.2).*(p2.^2) - (Mc.^4))/((p1^.2).*(p2.^2) + (Mc.^2).*((p1^.2) + (p2.^2) + (Mc.^4))))
end
dp12 = p2(2:end) - p2(1:end-1);
Lambda_f_Jpsi1 = sum(dp12.*p2.*p2.*f2.*v_rel.*sigma_f_Jpsi)
Lambda_f_Jpsip1 = sum(dp12.*p2.*p2.*f2.*v_rel.*sigma_f_Jpsip)
Lambda_f_ChiC1 = sum(dp12.*p2.*p2.*f2.*v_rel.*sigma_f_Chic)
end
dp11 = p1(2:end) - p1(1:end-1);
Lambda_f_Jpsi = (1./(pi.^4)).*sum(dp11.*p1.*p1.*f1.*Lambda_f_Jpsi1)
Lambda_f_Jpsip = (1./(pi.^4)).*sum(dp11.*p1.*p1.*f1.*Lambda_f_Jpsip1)
Lambda_f_ChiC = (1./(pi.^4)).*sum(dp11.*p1.*p1.*f1.*Lambda_f_ChiC1)
Please Help me. Thank you.
0 个评论
回答(2 个)
Image Analyst
2015-1-1
Do you really mean to raise p1 and p2 to the 0.2 power, like p1^.2? Or did you mean p1.^2? Actualy p1 and p2 are scalars so you don't even need the dot unless you want p1 ^ (0.2).
What is the value of Mc and T? Are they arrays?
Anyway, please post the complete error text - ALL THE RED TEXT, not just a small snippet of it like you did. I don't know what line it's complaining about.
4 个评论
Image Analyst
2015-1-1
Does it worry you that the size of dp12 is 1-by-0? What about that sigma_f_Jpsi is filled with a thousand complex numbers?
Star Strider
2015-1-1
What line is throwing the error? Please post the full error, and the full line that is throwing it.
What’s Mc?
Unless we know what it is, we can’t run your code. If we can’t run your code, we can’t isolate the problem.
14 个评论
Image Analyst
2015-1-2
that should be okay. But what about the last term? Did you leave it off or did you change your equation? What about the complex number, sigma_f_Jpsi? It has 1000 complex numbers. You can't multiply a 1-by-8 array by a 1-by-1000 array element-by-element. We can't really help more because you did not put in any comments to help us figure out what you want to do. All we can see is what you put, which we know is wrong, but we don't know how to fix it because you've given us no guidance (like in the form of comments) as to what you really want to do.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!