从输入Matlab计算矩阵点

时间:2014-04-21 20:18:24

标签: matlab

我有一个坐标矩阵,如[x1 y1 z1; x2 y2 z2; ... xn yn zn] 目前,这些坐标是手动输入的,但是,我只想输入x1y1z1并通过for循环计算其他点: x1=7y1=-x^2z1=tanx并通过将x1减1(例如6,5,4等等)来计算其他点,并通过此计算另一个{ {1}},x2y2等等,最终生成数组z2

编辑1:
如果我希望参数中的[x1 y1 z1; x2 y2 z2; ... xn yn zn]等式为x,y,zx1=7y1=-x^2

我的代码:

z1=tanx

1 个答案:

答案 0 :(得分:0)

您可以使用anonymous functions。首先,创建你的功能,如下所示:

function array = funC(x1, y1, z1)
    x = (x1:-1:1).';
    array = [x y1(x) z1(x)];
end

然后,这样称呼它:

% Define x1
>> x1 = 7

% Define y1 and z1 as anonymous functions
>> y1 = @(x) -x.^2;
>> z1 = @(x) tan(x);

% Call your function
>> funC(x1,y1,z1)

ans =

    7.0000  -49.0000    0.8714
    6.0000  -36.0000   -0.2910
    5.0000  -25.0000   -3.3805
    4.0000  -16.0000    1.1578
    3.0000   -9.0000   -0.1425
    2.0000   -4.0000   -2.1850
    1.0000   -1.0000    1.5574