生成并显示分数系列

Generate and display series of fractions

我想生成如下系列:

1/2, -1/3, 1/4, -1/5, ..., 1/100 

我的代码没有显示分数。

i= 2 : 100,  k=((-1).^(i+1)).*i, y= (1/k)

你应该在你的命令之间加上分号,并且选择 ./ 而不是 / 作为分隔符。另外,你的表述存在谬误。 -1 的幂应该是 i.

i= 2 : 100;  
k=((-1).^(i)).*i;
y= 1./k;

如果您使用 double,您将得到浮点数形式的结果。如果你想要分数,你需要进行符号计算:

syms ii k y

for ii =  1 : 10
    k(ii) = ((-1).^(ii+1)).*ii;
    y(ii) = (1/k(ii));
end

y =

[ 1, -1/2, 1/3, -1/4, 1/5, -1/6, 1/7, -1/8, 1/9, -1/10]

这是另一个解决方案:

k = 100;

num = repmat([1 -1],1,(k / 2)).';
num_str = num2str(num);

den = (1:k).';
den_str = num2str(den,'%-d');

disp([num_str repmat('\',k,1) den_str]);

输出:

 1  
-1  
 1  
-1  
 1  
-1  
 1  
-1  
 1  
-1 
...