How to convert expression to function?
Mostrar comentarios más antiguos
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(' ');
Respuestas (1)
KALYAN ACHARJYA
el 24 de Nov. de 2019
Editada: KALYAN ACHARJYA
el 24 de Nov. de 2019
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 comentarios
Jenny Andersen
el 24 de Nov. de 2019
KALYAN ACHARJYA
el 24 de Nov. de 2019
Editada: KALYAN ACHARJYA
el 24 de Nov. de 2019
Is the B1,B2, and B3 are scalars or vector?
Is B2 or B(2) you considered as same?
KALYAN ACHARJYA
el 24 de Nov. de 2019
Editada: KALYAN ACHARJYA
el 24 de Nov. de 2019
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
el 24 de Nov. de 2019
KALYAN ACHARJYA
el 24 de Nov. de 2019
Editada: KALYAN ACHARJYA
el 24 de Nov. de 2019
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
el 24 de Nov. de 2019
Jenny Andersen
el 24 de Nov. de 2019
Walter Roberson
el 24 de Nov. de 2019
... Delete the disp() calls?
Categorías
Más información sobre Programming en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!