从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建议的有效性?请提供所需输出的示例。