有人可以告诉我如何定义一个函数来输出这些值,每个列顶部都有一个标题?
这是我到目前为止所拥有的:
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
非常感谢您的帮助!
答案 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。