急!MATLAB点乘的一个小问题

来源:百度知道 编辑:UC知道 时间:2024/05/24 18:54:34
p1=0.005:0.001:0.490;
y=100*p*(1-(1-(p-(p.*(1-p)).^(1/2))./(2*p-1)).^3)+100*(1-p).*(1-(p-(p.*(1-p)).^(1/2))./(2*p-1).^3);
plot(p1,y,'k','LineWidth',1.5);hold on
p2=0.510:0.001:1;
plot(p2,y,'k','LineWidth',1.5);hold on

运行后的错误提示:
Warning: Divide by zero.
??? Error using ==> mtimes
Inner matrix dimensions must agree.

1. p1,p2的设置已经保证了分母不为0啊,怎么还有错误?
2. 点乘有问题?

第一个问题:
p=0.005:0.001:0.490;
y=100*p.*(1-(1-(p-(p.*(1-p)).^(1/2))./(2*p-1)).^3)+100*(1-p).*(1-(p-(p.*(1-p)).^(1/2))./(2*p-1).^3);
plot(p,y,'k','LineWidth',1.5);hold on

我将你的p1改成了p.另外y=100*p改成100*p.

第二个问题:
你的p2的长度跟y的长度不等.

y=100*p*(1-(1-(p-(p.*(1-p)).^(1/2))./(2*p-1)).^3)+100*(1-p).*(1-(p-(p.*(1-p)).^(1/2))./(2*p-1).^3);
这里面哪有p1?