matlab三维图程序:[X,Y]=meshgrid([200:2:300],[-pi/4:pi/1

发布时间:2021-02-25 09:45:05

matlab三维图程序:[X,Y]=meshgrid([200:2:300],[-pi/4:pi/100:pi/4]);M=-pi/4:pi/100:pi/4;f=sqrt(1-((1600+(X.*cos(M+pi/4)-0.707*X+40*sin(Y)).^2+(X.*sin(M+pi/4)-0.707*X-40*cos(Y)).^2-(0.707*X-40*sin(Y)).^2-(0.70

网友回答

简单说明两点:
1、表达式中涉及到三个变量:X、Y和M,似乎没有太好的方法避免使用循环(即使有,可能也会把程序搞得更难理解),所以程序改用循环结构.
2、按照你给的表达式计算,结果Z会出现复数(我直接使用你的f表达式,没有仔细检查有没有问题,请你再自己核实一下),所以绘图分别绘制实部和虚部.
matlab三维图程序:[X,Y]=meshgrid([200:2:300],[-pi/4:pi/100:pi/4]);M=-pi/4:pi/100:pi/4;f=sqrt(1-((1600+(X.*cos(M+pi/4)-0.707*X+40*sin(Y)).^2+(X.*sin(M+pi/4)-0.707*X-40*cos(Y)).^2-(0.707*X-40*sin(Y)).^2-(0.70(图2)代码如下:[X,Y] = meshgrid([200:2:300],[-pi/4:pi/100:pi/4]);
M=-pi/4:pi/100:pi/4;
for i = 1 : size(X,1)
    for j = 1 : size(X,2)
        x = X(i, j);
        y = Y(i, j);
        f = sqrt(1-((1600+(x.*cos(M+pi/4)-0.707*x+40*sin(y)).^2+...
            (x.*sin(M+pi/4)-0.707*x-40*cos(y)).^2-(0.707*x-...
            40*sin(y)).^2-(0.707*x+40*cos(y)).^2)./(80*x)).^2);
    
以上问题属网友观点,不代表本站立场,仅供参考!