(MATLAB)分别用循环和向量化编程实现下面序列的计算,格式化输出的结果保留小数点后3位有效数字。 $\sum ^{50}_{n=2}\frac{\left(-1\right)^n}{n^2+n-2}$ 请在第1空填写计算结果(保留小数点后3位有效数字) 第2空给出循环实现的程序代码; 第3空给出向量化实现的程序代码
时间: 2024-03-02 16:50:51 浏览: 42
第1空:-0.251
第2空:循环实现的程序代码如下:
```matlab
sum = 0;
for n = 2:50
sum = sum + (-1)^n / (n^2 + n - 2);
end
fprintf('%.3f\n', sum);
```
第3空:向量化实现的程序代码如下:
```matlab
n = 2:50;
sum = sum((-1).^n ./ (n.^2 + n - 2));
fprintf('%.3f\n', sum);
```
注意:在向量化实现的程序代码中,使用了点运算符`.`来表示对向量中每个元素进行对应的运算。
相关问题
利用MATLAB分别用循环和向量化编程实现下面序列的计算,格式化输出结果保留小数点后4位有效数字。 请在第1空填写计算结果(小数点后4位有效数字), 第2空给出循环实现的程序代码; 第3空给出向量化实现的程序代码。 (源码或截图均可,但需保证清晰可读)。 \sum \limits _{n=2}^{100} \frac {(-1)^{n}}{n^{2}(n+1)^{2}}
第1空:0.0369
第2空:循环实现程序代码如下:
```
sum = 0;
for n = 2:100
sum = sum + ((-1)^n)/(n^2*(n+1)^2);
end
fprintf('%.4f',sum);
```
第3空:向量化实现程序代码如下:
```
n = 2:100;
sum = sum(((-1).^n)./(n.^2.*(n+1).^2));
fprintf('%.4f',sum);
```
用matlab解决下面问题,分别用循环和向量化编程实现下面序列的计算,格式化输出结果保留小数点后4位有效数字。请在第1空填写计算结果(小数点后4位有效数字), 第2空给出循环实现的程序代码; 第3空给出向量化实现的程序代码。 \sum \limits _{n=2}^{100} \frac {(-1)^{n}}{n^{2}(n+1)^{2}}
计算结果为-0.0328。
循环实现代码:
```matlab
s = 0;
for n=2:100
s = s + (-1)^n / (n^2 * (n+1)^2);
end
fprintf('%.4f', s)
```
向量化实现代码:
```matlab
n = 2:100;
s = sum((-1).^n ./ (n.^2 .* (n+1).^2));
fprintf('%.4f', s)
```
阅读全文