声明函数参数验证

您所在的位置:网站首页 matlab里input函数 声明函数参数验证

声明函数参数验证

#声明函数参数验证| 来源: 网络整理| 查看: 265

编写一个函数,它接受重复的向量对组,并返回每对向量的总和。将输入和输出限制为行向量。

function vectorSum = repeatSum(a,b) arguments (Input,Repeating) a (1,:) b (1,:) end arguments (Output,Repeating) vectorSum (1,:) end n = numel(a); vectorSum{n} = a{n} + b{n}; for i = 1:n-1 vectorSum{i} = a{i} + b{i}; end end

在 for 循环为元胞数组预分配空间之前,计算最终输出并将其赋给 vectorSum{n}。在没有预分配空间的情况下在循环中扩展元胞数组有可能会对性能产生负面影响。

定义两个向量对组。将这两个对组作为输入调用 repeatSum。输入参数块验证将列向量转换为行向量,因为它们的大小兼容。

x1 = [1 2]; y1 = [3 4]; x2 = [1; 0]; y2 = [0; 1]; [sum1,sum2] = repeatSum(x1,y1,x2,y2)sum1 = 4 6 sum2 = 1 1

由于输入限制为行向量,因此每个向量对组的总和始终为行向量。但是,输出验证有助于确保该函数始终生成行向量,即使该函数在以后进行了修改也是一样。例如,如果将输入验证更改为 mustBeVector 函数,则对组可以由一个行向量和一个列向量组成,无需转换。在这种情况下,x1 和 y2 的总和是一个矩阵。

x1 + y2ans = 1 2 2 3

修改后的 repeatSum 的输出会出错,因为矩阵不会通过输出验证。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3