MATLAB编程:分支、循环与高级命令详解
1. 让M文件适用于向量和矩阵
在MATLAB中,为了让M文件能够处理向量和矩阵,我们可以使用循环逐元素地计算函数值,并在循环中使用 if 语句。以下是一个示例代码:
function y = f(x)
y = ones(size(x));
for n = 1:prod(size(x))
if x(n) ~= 0
y(n) = sin(x(n))/x(n);
end
end
在上述代码中,我们首先创建了一个与输入 x 大小相同的全1数组 y 。使用 size(x) 来确定 x 的行数和列数, prod(size(x)) 则得到 x 中元素的总数。在 for 循环中, n 从1到元素总数变化,对于每个元素 x(n) ,检查其是否非零,如果非零则重新定义对应的 y(n) 。
这里利用了MATLAB一个重要但微妙的特性,即矩阵的每个元素可以用单个索引引用。例如,如果 x 是一个3×2的数组,其元素可以按 x(1), x(2), ..., x(6) 的顺序枚举,这样就避免了使用嵌套循环。同样,我们也可以用 length
超级会员免费看
订阅专栏 解锁全文
2255

被折叠的 条评论
为什么被折叠?



