如何使用Matlab创建函数并向其添加标题?

时间:2018-05-04 00:41:43

标签: matlab

有人可以告诉我如何定义一个函数来输出这些值,每个列顶部都有一个标题?

这是我到目前为止所拥有的:

function x = myfunct(R,I)

  v=I.*R;

  p=v.*I;

  x=([I', v', p']);

end

例如,我想输入:

R=[1,2,3,4,5,6,7];
I=[1,2,3,4,5,6,7]; 

并且有这样的列,每个列都有一个标题。

 5.0000    1.0700    5.3500   
 4.0000    1.3300    5.3200    
10.0000    1.3300   13.3000   
 6.0000    0.2600    1.5600    
12.0000    0.5600    6.7200    
 7.0000   -0.3000   -2.1000    
 4.0000   -0.3000   -1.2000

非常感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

在这种情况下我会进行array2table调用,而不会忘记指定VariableNames参数(字符向量的单元格数组,其中每个“字符串”代表列标题的名称)

function x = myfunct(R,I)
    v = I.*R;
    p = v.*I;
    x = array2table([I', v', p'],'VariableNames',{'A' 'B' 'C'});
end

结果以table对象的形式返回,看起来它正是您正在寻找的。这是一个例子:

A    B      C 
_    __    ___

1     1      1
2     4      8
3     9     27
4    16     64
5    25    125
6    36    216
7    49    343

答案 1 :(得分:0)

正如@Cris Luengo建议的那样,你必须使用table。对于您的情况,请尝试以下行:

% Table needs column vectors (or matrices)
R = R';
I = I';

table(R, I, x);

有关更多示例,请查看此link