Problem with calling the function

2 次查看(过去 30 天)
Task: Write a function allparts that will read in lists of part numbers for parts produced by two factories. These are contained in data files called ‘xyparts.dat’ and ‘qzparts.dat’. The function will return a vector of all parts produced, in sorted order (with no repeats). Calling the function would return the following:
>> partslist = allparts
partslist =
102 111 123 145 333 456 876 903
Here is what I get:
function outv=allparts(xyparts,qzparts)
clc
load xyparts.dat;
load qzparts.dat;
un=union(xyparts,qzparts);
disp('The result of the function:')
disp(sort(un))
end
Please, help to fix the problem!
  3 个评论
Star Strider
Star Strider 2014-5-9
Perusing the documentation on Set Operations might be worthwhile.
Cristian
Cristian 2014-5-9
I don't understand why in allparts do not indicate the input arguments:
partslist = allparts %<---???
partslist =
102 111 123 145 333 456 876 903

请先登录,再进行评论。

采纳的回答

dpb
dpb 2014-5-9
...why in allparts do not indicate the input arguments...
Because that's the way the assignment was written--actually I see that I whiffed on that portion of your solution that doesn't match the problem description.
I'd give your solution the better marks for factorization as it is more general but the instructions say to build it specific for the two data files. Your function is also built upon that and there's no need or use for the two arguments as written; the values for the variables are obtained from the load operations and since Matlab doesn't modify arguments in the calling context, they won't be transferred back to the higher level that way. Hence you should just eliminate them from your function definition.
Your code still has the problems I outlined previously that don't match the assignment requirements.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Entering Commands 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by