在MATLAB中,定义一个1到50的和【i/(2*i^2-i+1)】,分别用while循环、for循环和向量求和三种方式求y值。

如题所述

For循环

>> y=0;
>> for i=1:50
y=y+i/(2*i^2-i+1);
end
>> y

y =

    2.3658

while循环

>> i=1;y=0;
>> while i<51
y=y+i/(2*i^2-i+1);
i=i+1;
end
>> y

y =

    2.3658

向量求和

>> i=1:50;
>> y=sum(i./(2*i.^2-i+1));
>> y

y =

    2.3658

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-10
clear
x=0;sum=0;i=1;
while i<=50
x=i/(2*i^2-i+1);
sum=sum+x;
i=i+1;
end
disp('y=')
disp(sum)

for循环
clear
x=0;sum=0;
for i=1:50
x=i/(2*i^2-i+1);
sum=sum+x;
end
disp('y=')
disp(sum)

向量法
clear
x=[0:50];
X=diag(x);
s=X./(2.*(X.^2)-X+1);
sum=trace(s) %求方阵的迹即对角线之和
disp('y=')
disp(sum)本回答被提问者采纳
第2个回答  2011-12-05
For语句方法

x=0
sum=0
for i=1:50
x=i/(2*i^2-i+1)
sum=sum+x
end
disp(sum)

While语句方法

x=0
sum=0
i=1
while i<=50
x=i/(2*i^2-i+1)
sum=sum+x
i=i+1
end
disp('y的最终取值为')
disp(sum)
第3个回答  2011-12-05
用for表示:
》clear;s=0;
》for i=1:50
》s=s+i/(2*i^2-i+1);
end
》s
while
clear;s=0;i=1;
while i<=50
s=s+i/(2*i^2-i+1);
i=i+1;
end
s
向量求和有点不懂要求哦
第4个回答  2011-12-08
用for表示:
》clear;s=0;
》for i=1:50
》s=s+i/(2*i^2-i+1);
end
》s
while
clear;s=0;i=1;
while i<=50
s=s+i/(2*i^2-i+1);
i=i+1;
end
s
相似回答