How to convert expression to function?
显示 更早的评论
Hi, I am trying to convert my expression to a function, but when I remove the informative text I can not call/run the function. How can I fix this?
w=input('Please enter a vector B=[B1 B2 B3]: ');
c2 = [0 B(2) -B(3)];
c3 = [0 -B(2) B(3)];
c2 = B2/norm(B2)
c3 = B3/norm(B3)
disp(' ');
c2=1*B2;
c3=1*-B2;
disp('The following vectors fulfill the demands above:')
disp(' ');
disp(['c2=[' num2str(c2(1)) ',' num2str(c2(2)) ',' num2str(c2(3)) ']'])
disp(['c3=[' num2str(c3(1)) ',' num2str(c3(2)) ',' num2str(c3(3)) ']'])
disp(' ');
I have tried to add the function expression, as follows:
function(c2,c3) = Test(B)
w=input('Please enter a vector B=[B1 B2 B3]: ');
c2 = [0 B(2) -B(3)];
c3 = [0 -B(2) B(3)];
c2 = B2/norm(B2)
c3 = B3/norm(B3)
disp(' ');
c2=1*B2;
c3=1*-B2;
disp('The following vectors fulfill the demands above:')
disp(' ');
disp(['c2=[' num2str(c2(1)) ',' num2str(c2(2)) ',' num2str(c2(3)) ']'])
disp(['c3=[' num2str(c3(1)) ',' num2str(c3(2)) ',' num2str(c3(3)) ']'])
disp(' ');
回答(1 个)
KALYAN ACHARJYA
2019-11-24
编辑:KALYAN ACHARJYA
2019-11-24
function [c2,c3]=test()
w=input('Please enter a vector B=[B1 B2 B3]: ');
c2 = [0 B(2) -B(3)];
c3 = [0 -B(2) B(3)];
c2 = B2/norm(B2)
c3 = B3/norm(B3)
disp(' ');
c2=1*B2;
c3=1*-B2;
disp('The following vectors fulfill the demands above:')
disp(' ');
disp(['c2=[' num2str(c2(1)) ',' num2str(c2(2)) ',' num2str(c2(3)) ']'])
disp(['c3=[' num2str(c3(1)) ',' num2str(c3(2)) ',' num2str(c3(3)) ']'])
disp(' ');
end
here C2 and C3 as output arduments, if not required, you can avoid them too to just display

8 个评论
Jenny Andersen
2019-11-24
KALYAN ACHARJYA
2019-11-24
编辑:KALYAN ACHARJYA
2019-11-24
Is the B1,B2, and B3 are scalars or vector?
Is B2 or B(2) you considered as same?
KALYAN ACHARJYA
2019-11-24
编辑:KALYAN ACHARJYA
2019-11-24
Is this, You didnot answered my question, hence I have to guess
Is this
function [c2,c3]=test(B2,B3)
c2=[0 B2 -B3];
c3=[0 -B2 B3];
c2=B2/norm(B2);
c3=B3/norm(B3);
c2=1*B2;
c3=1*-B2;
disp('The following vectors fulfill the demands above:')
disp(' ');
fprintf('c2=%f',c2)
fprintf('c3=%f',c3)
end
Please note that you have replace the c2 and c3 vectors by scalar in later section of the code, also I have no clue what you trying to do.

Jenny Andersen
2019-11-24
KALYAN ACHARJYA
2019-11-24
编辑:KALYAN ACHARJYA
2019-11-24
This is not same in MATLAB, B2 just a variable name, whereas B(2) accessing the second index element of variable B / array B
Jenny Andersen
2019-11-24
Jenny Andersen
2019-11-24
Walter Roberson
2019-11-24
... Delete the disp() calls?
类别
在 帮助中心 和 File Exchange 中查找有关 Programming 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!