MATLAB编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时, 调用函数1/1+1/3+...+1/n
时间: 2024-09-19 09:01:23 浏览: 76
用matlab编写的fft快速傅立叶变换及逆变换函数,其中flip1是供ditfft函数调用的倒叙子函数.rar
在MATLAB中,你可以创建一个名为`sum_even_odd_terms`的函数,它接受一个整数`n`作为输入,然后根据`n`的奇偶性分别计算序列的和。以下是这个函数的一个简单实现:
```matlab
function result = sum_even_odd_terms(n)
if mod(n, 2) == 0 % 判断输入是否为偶数
result = (1:n/2)' * (2/n); % 累加1/2 + 1/4 + ... + 1/n
else % 输入为奇数
result = (1:(n-1)/2)' * (2/(2*n-1)) + (1/n); % 累加1/1 + 1/3 + ... + 1/n
end
end
```
在这个函数里,我们使用了`mod`函数判断`n`的奇偶性,并根据不同情况利用向量化操作计算序列的和。`'( )`表示矩阵转置,使得乘法运算可以高效地完成。
如果你想测试这个函数,可以像下面这样调用:
```matlab
disp(sum_even_odd_terms(8)); % 当n=8时,计算1/2 + 1/4 + ... + 1/8
disp(sum_even_odd_terms(9)); % 当n=9时,计算1/1 + 1/3 + ... + 1/9
```
阅读全文