如何实现两个变量区间的分段函数呢。

x=-2:0.01:2;
x=x+(x==0)*eps;
y=-2:0.01:2;
%y=y+(y==0)*eps;
[X,Y]=meshgrid(x,y);
m=1;
for xx=xyy=Y
if(xx<=2&xx>0&&yy<=2&yy>0)
B=Y./X;
elseif(xx>=-2&xx<0&&yy<=2&yy>0)
B=Y./X+pi/2;
elseif(xx>=-2&xx<0&&yy>=-2&yy<0)
B=Y./X+pi;
else
B=Y./X+3*pi/2;
end
Z=m.*atan(B);
figure(1);
meshc(x,y,Z);
比如上边程序,红色字应该怎么改呢,如果没法改应该怎么正确写呢,求大佬解答

 Accepted Answer

kibang
kibang on 4 Apr 2023

0 votes

参考代码:
clear;clc
dt = 0.01;
m = 1;
for a = 1:4
    if a == 1
        x = 0:dt:2; y = 0:dt:2;
    elseif a == 2
        x = -2:dt:0; y = 0:dt:2;
    elseif a == 3
        x = -2:dt:0; y = -2:dt:0;
    elseif a == 4
        x = 0:dt:2; y = -2:dt:0;
    end
   
    [X,Y] = meshgrid(x,y);
   
    if a == 1
        B = Y./X;
    elseif a == 2
        B=Y./X+pi/2;
    elseif a == 3
        B=Y./X+pi;
    elseif a == 4
        B=Y./X+3*pi/2;
    end
    Z = m.*atan(B);
    meshc(X,Y,Z)
    hold on
end

More Answers (0)

Categories

Find more on Language Fundamentals in Help Center and File Exchange

Tags

Asked:

on 4 Apr 2023

Answered:

on 4 Apr 2023

Community Treasure Hunt

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

Start Hunting!