Functions in Matlab, problem
1 次查看(过去 30 天)
显示 更早的评论
I have a vector A = (A1, A2, A3) which is orthogonal to another unit vector, v = (v1,v2,v3), whose first coordinate is 0. I have come up with the following:
v2 = [0 A(2) -A(3)];
v3 = [0 -A(2) A(3)];
v2 = v2/norm(v2)
v3 = v3/norm(v3)
But if I want to write/code it as a function instead where A is the input value, how do I do that?
I understand that functions can be written as function[v2,v3] = Name(A3,A2) but how do I do it on above if the function is not given?
I have tried with below but all I get is errors, and furthurmore I do not get the coordinates of the vector:
function[v2,v3] = function1(A2,A3)
v2 = +/-A3/sqrt((A2)^2)+(A3)^2);
v3 = +/-A2/sqrt((A2)^2)+(A3)^2);
4 个评论
Adam
2019-11-20
You expect A to have 3 elements, so you have to pass in a 3-element array, even though you don't use the first one at all. Alternatively you could pass in two arguments as A2 and A3 and change the code accordingly. But clearly a scalar input won't work. How would you expect the equation to calculate V2 and V3?
Image Analyst
2019-11-24
Can you supply some actual input numbers and the actual ine of code, and what you'd like as output numbers?
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!