How can I Write a function that takes as input two numbers, x and y, and outputs √xy if they have the same signs, x y if they have opposite signs, and 0 if either is zero

1 次查看(过去 30 天)
numbers=input('x','s');
if numbers(diff(sign(x(x~=0))))
disp('sqrt(x*y).')
elseif numbers isequal(sign(previous), sign(current))
disp('(x/y).')
elseif numbers~=0
disp('0.')
end
This is the code I tried but I ended up getting an error in the second line. What is going wrong with my code?

回答(1 个)

Image Analyst
Image Analyst 2020-3-9
You need to convert the string you collected from the user into numbers using sscanf(). Try this:
usersInputString = input('Enter x y ', 's')
numbers = sscanf(usersInputString, '%f %f')
x = numbers(1)
y = numbers(2)
if sign(x) == sign(y)
fprintf('sqrt(x*y) = %f\n', sqrt(x*y))
etc.

类别

Help CenterFile Exchange 中查找有关 Create Model Web Views 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by