如何在Matlab中将其作为函数编写?(向量)

如何在Matlab中将其作为函数编写?(向量),matlab,Matlab,我有一个向量a=(A1,A2,A3),它与另一个单位向量v=(v1,v2,v3)正交,它的第一个坐标是0。我提出了以下建议: v2 = [0 A(2) -A(3)]; v3 = [0 -A(2) A(3)]; v2 = v2/norm(v2) v3 = v3/norm(v3) 但是如果我想把它写成一个函数,而a是输入值,我该怎么做呢 我知道函数可以写成函数[v2,v3]=Name(A3,A2),但是如果没有给出函数,我该如何在上面这样做呢 正如我正确理解你的问题一样,你需要创建一个函数,它将为

我有一个向量a=(A1,A2,A3),它与另一个单位向量v=(v1,v2,v3)正交,它的第一个坐标是0。我提出了以下建议:

v2 = [0 A(2) -A(3)];
v3 = [0 -A(2) A(3)];
v2 = v2/norm(v2)
v3 = v3/norm(v3)
但是如果我想把它写成一个函数,而a是输入值,我该怎么做呢


我知道函数可以写成函数[v2,v3]=Name(A3,A2),但是如果没有给出函数,我该如何在上面这样做呢

正如我正确理解你的问题一样,你需要创建一个函数,它将为你提供向量正交第一个向量的第二和第三个坐标。 如你所知,当向量AθB正交时,标量(A,B)=0 所以我们可以使用这个属性来编写函数

function [v2,v3] = orthogonal_to(A2,A3)
% (A*v) = 0 
%0 =0*0 + v2 * A2 + v3 * A3
% v2 * A2 = - 1 * (v3 * A3)
% we have infinity number of vectors, so let v3 = 1 (or any other number)
v3 = 1;
v2 = ( -1 * (v3 * A3) ) / A2;
end
将此函数像正交_保存到.m一样保存 然后在matlab命令窗口中调用它,如
[v2,v3]=正交于(1,2)

你的问题真的很难理解,所以请给出一个数字应用程序!(以A和结果V的数字为例),我可以帮助你。你能准确地说明函数输入和输出应该是什么吗?一旦您能够清楚地表达出来,您就可以使用MATLAB的函数文档自己解决这个问题: