编写一个程序,求以x、y为自变量函数f(x,y)的值fxy。函数f(x,y)定义如下:
% f(x,y) = x+y, when x>=0 and y>=0
= x+y^2, when x>=0 and y<0
= x^2+y, when x<0 and y>=0
= x^2+y^2, when x<0 and y<0
1)利用循环结构,分别求f(2.5,3.2)、f(-2.5,3.2)、f(2.5,-3.2)和f(-2.5,-3.2)
的值fxy.
2)利用循环结构,分别求下列(x,y)对应的值fxy.
x = [1.5, 0.4, -0.3, 3.4, -2.2, 1.0, -2.9, 3.0, 2.7, 1.0, 0.9, 4.0, 2.2]
y = [1.7, 3.2, 3.0, -0.3, 1.5, -0.9, -1.6, 2.8, 1.0, 0.9, 2.8, 2.2, 1.7]
题主给出的分段函数表达式,应如何用Matlab求其值?解决的途径:
1、创建自定义的分段函数,即
f=@(x,y) (x+y).*(x>=0 & y>=0)+ (x+y.^2).*(x>=0 & y<0)+(x.^2+y).*(x<0 & y>=0)+(x.^2+y.^2).*(x<0 & y<0);
2、输入求解对应于x,y的f(x,y)值,即
f(-2.5,3.2)
3、创建x,y的数据向量,即
x=[。。。];
y=[。。。];
4、利用for循环语句,求解对应于x,y的f(x,y)值,即
for i=1:length(x)
fxy=f(x(i),y(i))
end
5、运行程序,可以得到结果。