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

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);
比如上边程序,红色字应该怎么改呢,如果没法改应该怎么正确写呢,求大佬解答

 Réponse acceptée

kibang
kibang le 4 Avr 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

Plus de réponses (0)

Catégories

En savoir plus sur Language Fundamentals dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by