clear all; close all; clc;
x = input('x= ');
y = input('y= ');
if (x>=5) & (y>2)
f(x,y)=x^2-y;
elseif (x<5) | (y>0 & y<=2)
f(x,y) = x-y^2;
else (x<0 & x>0) & (y<0)
f(x,y)= x^3 + y^3;
end
f(x,y)
%when I try input x =0 and y=2 it does not run
%Index in position 1 is invalid. Array indices must be positive integers or logical values.
%How to I solve that?
%Thank you very much

1 comentario

clear all; close all; clc;
x = 0 ;
y = 2 ;
if (x>=5) & (y>2)
f = @(x,y) x^2-y; % define function using function handle
f(x,y)
elseif (x<5) | (y>0 & y<=2)
f= @(x,y) x-y^2;
f(x,y)
else (x<0 & x>0) & (y<0)
f = @(x,y) x^3 + y^3;
f(x,y)
end
ans = -4
Define the function using its function handle as the way you try to call function

Iniciar sesión para comentar.

 Respuesta aceptada

Matt J
Matt J el 2 de En. de 2023
Editada: Matt J el 2 de En. de 2023
x=0; y=2;
if (x>=5) & (y>2)
f=x^2-y;
elseif (x<5) | (y>0 & y<=2)
f = x-y^2;
else (x<0 & x>0) & (y<0)
f= x^3 + y^3;
end
f
f = -4

2 comentarios

Vo
Vo el 2 de En. de 2023
why we use f due to f(x,y) sir ?
Matt J
Matt J el 2 de En. de 2023
Editada: Matt J el 2 de En. de 2023
Because, "array indices must be positive integers or logical values"
For example:
A=rand(1,4)
A = 1×4
0.8551 0.1501 0.7576 0.0665
We can do
A(1)
ans = 0.8551
A(2)
ans = 0.1501
but not,
A(0)
Array indices must be positive integers or logical values.
There is no location in the vector known as A(0).

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Productos

Versión

R2022a

Etiquetas

Preguntada:

Vo
el 2 de En. de 2023

Editada:

el 2 de En. de 2023

Community Treasure Hunt

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

Start Hunting!

Translated by