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!