在matlab中分配结构数组

时间:2013-11-11 14:56:04

标签: matlab structure

嗨我有以下3个不同m的功能。同一文件夹中的文件:

前两个函数(sum和mult)分别用于求和和乘以元素:

function sum =  sum_elements()

a = 1;
sum = 0;
for i = 1:5
    sum = sum + a;
end
return


function mult =  mult_elements()

b = 2;
mult = 1;
for i = 1:5
    mult = mult * b;
end
return

在第三个函数中,我想使用结构来执行求和和乘法任务并将它们存储在变量“calc”中:

function calc_sum_mult(a,b,sum,mult)

I = 5;

for i = 1:I
    calc(i).sum = sum_elements()
    calc(i).mult = mult_elements()
end

但是,当我运行第3个函数时,我得到并且错误“没有足够的输入参数”

任何帮助???

1 个答案:

答案 0 :(得分:0)

calc(i).sum = sum()更改为calc(i).sum = sum_elements(),将calc(i).mult = mult()更改为calc(i).mult = mult_elements()。函数由其名称调用,而不是由其定义中使用的输出参数的名称调用。

在您的代码中,sum是一个Matlab bulitin函数,如果没有输入元素,则无法调用它。这就是你得到错误的原因。