标题:急问:请大家帮我看看这个程序哪里错了
只看楼主
Tianbian1127
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2008-10-19
 问题点数:0 回复次数:4 
急问:请大家帮我看看这个程序哪里错了
目的是要求t=x-40,t=x-60后的函数值N后,并对两次求得的N求和,可是程序运行的结果是求了两次t=x-40时的N值后的和,没有计算t=x-60后的函数值N,那这个程序错在哪里了?该如何修改呢?高人指点一下吧,感激不尽
x=1:0.1:100;
m=2;
N=length(x);
y(1)=40;y(2)=60;
sum=0;
x=1:0.1:100;
for k=1:m
  t=x-y(k);
   for i=1:N
       if t(i)>=0 & t(i)<1;
            N1(i)=1/2*(t(i)).^2;
        elseif t(i)>=1 & t(i)<2
            N2(i)=3/4-(t(i)-3/2).^2;
        elseif t(i)>=2 & t(i)<=3
            N3(i)=1/2*(3-t(i)).^2;
        else            
            N4(i)=0;
       end
    end
  N=N1+N2+N3+N4;
  sum=sum+N;
end
搜索更多相关主题的帖子: 如何 
2008-12-15 21:27
tbad
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-5-14
得分:0 
没太看懂你的意图.N1,N2,N3,N4最好先初始化,如N1=zeros(N,1);倒数第三步有问题,那样相加的话,就会改变N的值,而N是用来判断循环用的.
2008-12-16 15:26
Tianbian1127
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2008-10-19
得分:0 
谢谢你啊,N1,N2,N3,N4前面初始化了,没写上来,我是想用N来表示整个分段函数的值
2008-12-16 16:25



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-249490-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021831 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved