我已经写了一个函数myMerge,它合并了两个已排序的行向量,这是可行的。matlab:如何从一个行向量中删除一个元素
我现在正在尝试编写一个新的函数MergedExp,它调用myMerge,然后检查是否有任何元素是相同的,如果是这样就删除一个。例如,如果我输入两行矢量[1,3,5,6]和[2,5,7,8] myMerge会给[1,2,3,5,5,6,7,8]和i要MergedExp生产[1,2,3,5,6,7,8] 这是我迄今为止
function [ answer ] = MergedExp(a,b)
%UNTITLED Summary of this function goes here
% Detailed explanation goes here
Merge=myMerge(a,b);
l=length(a)+length(b);
for i=1:l-1
if (Merge(i)==Merge(i+1))
Merge(i)=[];
end
end
end
当我删除了半冒号才能看到的功能工作的每一步它确实给出了我之后的答案,但仍显示错误消息。
任何想法如何解决这将不胜感激。
这是一个特定的任务,排除使用现成的函数,如'union'吗?如果是这样,考虑到'for'使用一组固定的索引,缩短循环内的向量的效果。提示1:while循环每次迭代评估其条件。提示2:或者,考虑'Merge(2:end)〜= Merge(1:end-1)'的结果。 – Notlikethat