从Matlab输入计算矩阵点

从Matlab输入计算矩阵点,matlab,Matlab,我有一个坐标矩阵,比如[x1 y1 z1;x2 y2 z2;…xn yn zn] 目前,这些坐标是手动输入的,但是,我只想输入x1,y1,z1,然后通过for循环,很好地计算其他点: x1=7,y1=-x^2,z1=tanx,它通过将x1减少1(例如6、5、4等)来计算其他点,并通过此计算另一个x2,y2,z2等,最终得到数组[x1 y1 z1;x2 y2 z2;…xn-yn]/code> 编辑1: 如果我希望参数中的x,y,z方程为x1=7,y1=-x^2,z1=tanx 我的代码: func

我有一个坐标矩阵,比如
[x1 y1 z1;x2 y2 z2;…xn yn zn]

目前,这些坐标是手动输入的,但是,我只想输入
x1
y1
z1
,然后通过for循环,很好地计算其他点:
x1=7
y1=-x^2
z1=tanx
,它通过将
x1
减少1(例如6、5、4等)来计算其他点,并通过此计算另一个
x2
y2
z2
等,最终得到数组
[x1 y1 z1;x2 y2 z2;…xn-yn]/code>

编辑1:
如果我希望参数中的
x,y,z
方程为
x1=7
y1=-x^2
z1=tanx

我的代码:

function funC(x1,y1,z1)
x=7;
y=-x^2;
z=tanx;
for ii=1:7
    array = [x-1 y z];
    %not showing correct result
end
你可以用。首先,创建函数,如下所示:

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
然后,这样称呼它:

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

x=7:-1:1;array=[x.(-x.^2.'tan(x)。]
@Divakar请参见当前问题的编辑1。您的编辑如何更改@Divakar建议的有效性?请提供所需输出的示例。