command window work space only

Write a function that takes numeric data as its input argument and prints a message to the Command Window stating if the number is positive, or negative, or 0. This function should transfer an output value to the Workspace ONLY when the input value is negative How do i attempt this question?

3 个评论

Interesting Question, Void and Output pass parameter simultaneously, I am also waiting for a response from experts.
This sounds like a homework question. We are not here to do it for you. If you want help, try to provide the following:
  • What have you tried so far?
  • What went wrong with it?
  • Which parts specifically do you understand?
  • Which parts specifically are you having trouble with?
I don't really understand what the question wants. Can you explain it to me?

请先登录,再进行评论。

 采纳的回答

You need to define a function with one input and one output. The function should examine the input and disp() a message saying whether the input is negative, zero, or positive.
After that, the function should assign any arbitrary value to its output variable if the input was negative (anything is acceptable.)
If the input was zero or positive and the user asked to use the output of the function, then you should expect MATLAB to generate an error message. This is to be expected considering the requirements of the question.
For example,
>> test_pos_zero_neg(-5)
input was negative
ans =
'arbitrary output'
>> test_pos_zero_neg(5)
input was positive
(notice ans was not created in this case.)
>> result = test_pos_zero_neg(-7)
input was negative
result =
'output is not required to be consistent'
>> result = test_pos_zero_neg(7)
input was positive
Output argument "variable_to_hold_arbitrary_output" (and maybe others) not assigned during call to "test_pos_zero_neg".

5 个评论

function y=number(a);
if a>0
disp('positve');
else if a<0
disp('negative'), y=a;
else
disp('zero');
end
why i cannot genereate?
[B]=number(1000)
Error: File: number.m Line: 2 Column: 4
At least one END is missing: the statement may begin here.
function y=number(a);
if a>0 disp('positve');
elseif a<0
disp('negative')
y=a;
else
disp('zero');
end
end
Your function should have one more end at the last.
@madhan ravi: the end is not actually the problem. You already fixed the problem here:
else if a<0
^ space is not valid syntax for IF-ELSEIF-ELSE-END statement.
Thank you @Stephen

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by