Matlab 简单程序问题Matlab 具体程序如下. A=1-round(rand(60,1)*5)/10;%%产生60个随机数并且四舍五入到小数点后一位 B=round(rand(40,1)*4)/10;%%产生40个随机数并且四舍五入到小数点后一位 C=[A',B']; C=C

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/18 00:12:56

Matlab 简单程序问题Matlab 具体程序如下. A=1-round(rand(60,1)*5)/10;%%产生60个随机数并且四舍五入到小数点后一位 B=round(rand(40,1)*4)/10;%%产生40个随机数并且四舍五入到小数点后一位 C=[A',B']; C=C
Matlab 简单程序问题

Matlab 具体程序如下.

 

A=1-round(rand(60,1)*5)/10;%%产生60个随机数并且四舍五入到小数点后一位

 B=round(rand(40,1)*4)/10;%%产生40个随机数并且四舍五入到小数点后一位

 C=[A',B'];

 C=C';

 j=0;

 while j<20

D=round(rand(99,100)*10)/10;%%产生一个99*100的矩阵并且四舍五入到小数点后一位

F=mean(D,1);%%求出每一列的平均数

for i=1:100  %%对F内的数值进行判断,通过判断结果确定C内的数值的变化

    if F(1,i)<0.5

        C(i,1)=C(i,1)-0.1;

    else 

        C(i,1)=C(i,1)+0.1;

    end

    if C(i,1)>1

        C(i,1)=1;

    end

    if C(i,1)<0

        C(i,1)=0;

    end

end

j=j+1;

 end

 a=0;

 b=0;

 c=0;

 d=0;

 e=0;

 for i=1:100  %%统计C中的数值的分布的情况

     if C(i,1)>=0&&C(i,1)<=0.1

         a=a+1;

    

     else if C(i,1)>=0.2&&C(i,1)<=0.4

         b=b+1;

    

         else if C(i,1)>=0.5&&C(i,1)<=0.6

         c=c+1;

  

             else if C(i,1)>=0.7&&C(i,1)<=0.9

         d=d+1;

    

                 else if C(i,1)==1

         e=e+1;

                     end

                 end

             end

         end

     end

 end

 P=[a,b,c,d,e]     %%画图

 subplot(1,3,1)

bar(P);

subplot(1,3,2)

explode=(P==max(P));

h=pie(P,explode);

subplot(1,3,3)

x=[1 2 3 4 5]

line(x,P);


出现的问题是最后求得的 a b c d e的数值加起来不等于100.

并且在C的数组里面出现了奇怪的数.


为什么会出现这种情况呢?

PS:if 的判断里面 | 和 || 的用法有什么不一样呢?



Matlab 简单程序问题Matlab 具体程序如下. A=1-round(rand(60,1)*5)/10;%%产生60个随机数并且四舍五入到小数点后一位 B=round(rand(40,1)*4)/10;%%产生40个随机数并且四舍五入到小数点后一位 C=[A',B']; C=C
C(i,1)>=0&&C(i,1)=0.2&&C(i,1)=0.5&&C(i,1)=0.7&&C(i,1)